From 3c316997a847d2291b3ef544aeff897aed6388bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=83=C2=A9r=C3=83=C2=B4me=20Coste?= <jerome.coste@etu.utc.fr> Date: Thu, 9 Nov 2017 17:45:31 +0100 Subject: [PATCH] pica-backup: In mysql and postgresql backup scripts, set backup folder as a variable --- pica-backup/mysql-run.sh | 14 ++++++++------ pica-backup/postgres-run.sh | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/pica-backup/mysql-run.sh b/pica-backup/mysql-run.sh index 1116ef3e..76a7d35b 100755 --- a/pica-backup/mysql-run.sh +++ b/pica-backup/mysql-run.sh @@ -4,6 +4,8 @@ if [ "${MYSQL_ENV_MYSQL_PASS}" == "**Random**" ]; then unset MYSQL_ENV_MYSQL_PASS fi +BACKUP_FOLDER=${BACKUP_FOLDER:-"/backup/"} + MYSQL_HOST=${MYSQL_PORT_3306_TCP_ADDR:-${MYSQL_HOST}} MYSQL_HOST=${MYSQL_PORT_1_3306_TCP_ADDR:-${MYSQL_HOST}} MYSQL_PORT=${MYSQL_PORT_3306_TCP_PORT:-${MYSQL_PORT}} @@ -16,7 +18,7 @@ MYSQL_PASS=${MYSQL_PASS:-${MYSQL_ENV_MYSQL_PASS}} [ -z "${MYSQL_USER}" ] && { echo "=> MYSQL_USER cannot be empty" && exit 1; } [ -z "${MYSQL_PASS}" ] && { echo "=> MYSQL_PASS cannot be empty" && exit 1; } -BACKUP_CMD="mysqldump -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASS} ${EXTRA_OPTS} ${MYSQL_DB} > /backup/"'${BACKUP_NAME}' +BACKUP_CMD="mysqldump -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASS} ${EXTRA_OPTS} ${MYSQL_DB} > $BACKUP_FOLDER"'${BACKUP_NAME}' echo "=> Creating backup script" rm -f /backup.sh @@ -31,15 +33,15 @@ if ${BACKUP_CMD} ;then echo " Backup succeeded" else echo " Backup failed" - rm -rf /backup/\${BACKUP_NAME} + rm -rf $BACKUP_FOLDER\${BACKUP_NAME} fi if [ -n "\${MAX_BACKUPS}" ]; then - while [ \$(ls /backup -N1 | wc -l) -gt \${MAX_BACKUPS} ]; + while [ \$(ls $BACKUP_FOLDER -N1 | wc -l) -gt \${MAX_BACKUPS} ]; do - BACKUP_TO_BE_DELETED=\$(ls /backup -N1 | sort | head -n 1) + BACKUP_TO_BE_DELETED=\$(ls $BACKUP_FOLDER -N1 | sort | head -n 1) echo " Backup \${BACKUP_TO_BE_DELETED} is deleted" - rm -rf /backup/\${BACKUP_TO_BE_DELETED} + rm -rf $BACKUP_FOLDER\${BACKUP_TO_BE_DELETED} done fi echo "=> Backup done" @@ -73,7 +75,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then echo "waiting database container..." sleep 1 done - ls -d -1 /backup/* | tail -1 | xargs /restore.sh + ls -d -1 $BACKUP_FOLDER* | tail -1 | xargs /restore.sh fi echo "${CRON_TIME} /backup.sh >> /mysql_backup.log 2>&1" > /crontab.conf diff --git a/pica-backup/postgres-run.sh b/pica-backup/postgres-run.sh index 2fe57848..96852e3e 100755 --- a/pica-backup/postgres-run.sh +++ b/pica-backup/postgres-run.sh @@ -1,12 +1,14 @@ #!/bin/bash +BACKUP_FOLDER=${BACKUP_FOLDER:-"/backup/"} + [ -z "${POSTGRES_HOST}" ] && { echo "=> POSTGRES_HOST cannot be empty" && exit 1; } [ -z "${POSTGRES_PORT}" ] && { echo "=> POSTGRES_PORT cannot be empty" && exit 1; } [ -z "${POSTGRES_USER}" ] && { echo "=> POSTGRES_USER cannot be empty" && exit 1; } [ -z "${POSTGRES_PASS}" ] && { echo "=> POSTGRES_PASS cannot be empty" && exit 1; } [ -z "${POSTGRES_DB}" ] && { echo "=> POSTGRES_DB cannot be empty" && exit 1; } -BACKUP_CMD="pg_dump -w -c > /backup/"'${BACKUP_NAME}' +BACKUP_CMD="pg_dump -w -c > $BACKUP_FOLDER"'${BACKUP_NAME}' echo "=> Creating backup script" rm -f /backup.sh @@ -26,15 +28,15 @@ if ${BACKUP_CMD} ;then echo " Backup succeeded" else echo " Backup failed" - rm -rf /backup/\${BACKUP_NAME} + rm -rf $BACKUP_FOLDER\${BACKUP_NAME} fi if [ -n "\${MAX_BACKUPS}" ]; then - while [ \$(ls /backup -N1 | wc -l) -gt \${MAX_BACKUPS} ]; + while [ \$(ls $BACKUP_FOLDER -N1 | wc -l) -gt \${MAX_BACKUPS} ]; do - BACKUP_TO_BE_DELETED=\$(ls /backup -N1 | sort | head -n 1) + BACKUP_TO_BE_DELETED=\$(ls $BACKUP_FOLDER -N1 | sort | head -n 1) echo " Backup \${BACKUP_TO_BE_DELETED} is deleted" - rm -rf /backup/\${BACKUP_TO_BE_DELETED} + rm -rf $BACKUP_FOLDER\${BACKUP_TO_BE_DELETED} done fi echo "=> Backup done" @@ -74,7 +76,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then echo "waiting database container..." sleep 1 done - ls -d -1 /backup/* | tail -1 | xargs /restore.sh + ls -d -1 $BACKUP_FOLDER* | tail -1 | xargs /restore.sh fi echo "${CRON_TIME} /backup.sh >> /postgres_backup.log 2>&1" > /crontab.conf -- GitLab