2019-03-02 09:01:29 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2022-09-05 17:21:32 +00:00
|
|
|
send_email_on_error() {
|
2022-08-30 06:24:38 +00:00
|
|
|
ansible-playbook /var/smtp-email-playbook/main.yml \
|
|
|
|
-e "smtp_user=$SMTP_USER" \
|
|
|
|
-e "smtp_password=$SMTP_PASSWORD" \
|
|
|
|
-e "smtp_port=$SMTP_PORT" \
|
|
|
|
-e "smtp_host=$SMTP_HOST" \
|
|
|
|
-e "mail_to='$MAIL_TO'" \
|
|
|
|
-e "mail_body='$MAIL_BODY'" \
|
|
|
|
-e "mail_subject='$MAIL_SUBJECT'"
|
|
|
|
}
|
|
|
|
|
2022-09-05 17:21:32 +00:00
|
|
|
# Only handle errors if the required environment variables are defined to send an email
|
2022-08-30 06:24:38 +00:00
|
|
|
if [[ ! -z "$SMTP_USER" && ! -z "$SMTP_PASSWORD" && ! -z "$SMTP_PORT" && ! -z "$SMTP_HOST" && ! -z "$MAIL_TO" && ! -z "$MAIL_BODY" && ! -z "$MAIL_SUBJECT" ]]; then
|
|
|
|
set -o errexit -o errtrace
|
2022-09-05 17:21:32 +00:00
|
|
|
trap send_email_on_error ERR
|
2022-08-30 06:24:38 +00:00
|
|
|
fi
|
|
|
|
|
2019-09-04 14:20:15 +00:00
|
|
|
if [[ ! -z "$MYSQL_USER" && ! -z "$MYSQL_DATABASE" && ! -z "$MYSQL_PASSWORD" && ! -z "$MYSQL_HOST" ]]; then
|
2019-03-04 07:54:11 +00:00
|
|
|
ansible-playbook /var/mysql-dump-playbook/main.yml \
|
2020-03-04 11:20:02 +00:00
|
|
|
-e "mysql_dumps_target_folder=$LOCAL_FOLDER" \
|
2019-03-04 07:54:11 +00:00
|
|
|
-e "prune=yes" \
|
|
|
|
-e "db_user=$MYSQL_USER" \
|
|
|
|
-e "db_password=$MYSQL_PASSWORD" \
|
2019-09-04 14:20:15 +00:00
|
|
|
-e "db_host=$MYSQL_HOST" \
|
2019-03-04 07:54:11 +00:00
|
|
|
-e "db_name=$MYSQL_DATABASE"
|
|
|
|
fi
|
|
|
|
|
2019-09-04 14:20:15 +00:00
|
|
|
if [[ ! -z "$MONGO_HOST" && ! -z "$MONGO_DATABASE" && ! -z "$MONGO_PORT" ]]; then
|
|
|
|
ansible-playbook /var/mongo-dump-playbook/main.yml \
|
2020-03-04 11:20:02 +00:00
|
|
|
-e "mongo_dumps_target_folder=$LOCAL_FOLDER" \
|
2019-09-04 14:20:15 +00:00
|
|
|
-e "prune=yes" \
|
|
|
|
-e "db_port=$MONGO_PORT" \
|
|
|
|
-e "db_host=$MONGO_HOST" \
|
|
|
|
-e "db_name=$MONGO_DATABASE"
|
|
|
|
fi
|
|
|
|
|
2020-07-17 12:52:26 +00:00
|
|
|
if [[ ! -z "$ELASTICSEARCH_HOST" && ! -z "$ELASTICSEARCH_REPOSITORY" && ! -z "$ELASTICSEARCH_PORT" ]]; then
|
|
|
|
ansible-playbook /var/elasticsearch-snapshot-playbook/main.yml \
|
|
|
|
-e "elasticsearch_port=$ELASTICSEARCH_PORT" \
|
|
|
|
-e "elasticsearch_host=$ELASTICSEARCH_HOST" \
|
|
|
|
-e "elasticsearch_repository=$ELASTICSEARCH_REPOSITORY"
|
|
|
|
fi
|
|
|
|
|
2019-03-02 22:54:59 +00:00
|
|
|
ansible-playbook /var/borg-backup-playbook/main.yml \
|
2019-03-04 07:54:11 +00:00
|
|
|
-e "ssh_connection=$SSH_CONNECTION" \
|
|
|
|
-e "private_key_path=$PRIVATE_KEY_PATH" \
|
|
|
|
-e "borg_repo_path=$BORG_REPO_PATH" \
|
|
|
|
-e "borg_repo_name=$BORG_REPO_NAME" \
|
|
|
|
-e "borg_passphrase=$BORG_PASSPHRASE" \
|
|
|
|
-e "local_folder=$LOCAL_FOLDER"
|