Skip to content
Snippets Groups Projects
Commit 3c316997 authored by Jerome Coste's avatar Jerome Coste Committed by PICHOU Kyâne
Browse files

pica-backup: In mysql and postgresql backup scripts, set backup folder as a variable

parent 2a0b9b4b
Branches
Tags
1 merge request!5CheckMK stable image
...@@ -4,6 +4,8 @@ if [ "${MYSQL_ENV_MYSQL_PASS}" == "**Random**" ]; then ...@@ -4,6 +4,8 @@ if [ "${MYSQL_ENV_MYSQL_PASS}" == "**Random**" ]; then
unset MYSQL_ENV_MYSQL_PASS unset MYSQL_ENV_MYSQL_PASS
fi fi
BACKUP_FOLDER=${BACKUP_FOLDER:-"/backup/"}
MYSQL_HOST=${MYSQL_PORT_3306_TCP_ADDR:-${MYSQL_HOST}} MYSQL_HOST=${MYSQL_PORT_3306_TCP_ADDR:-${MYSQL_HOST}}
MYSQL_HOST=${MYSQL_PORT_1_3306_TCP_ADDR:-${MYSQL_HOST}} MYSQL_HOST=${MYSQL_PORT_1_3306_TCP_ADDR:-${MYSQL_HOST}}
MYSQL_PORT=${MYSQL_PORT_3306_TCP_PORT:-${MYSQL_PORT}} MYSQL_PORT=${MYSQL_PORT_3306_TCP_PORT:-${MYSQL_PORT}}
...@@ -16,7 +18,7 @@ MYSQL_PASS=${MYSQL_PASS:-${MYSQL_ENV_MYSQL_PASS}} ...@@ -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_USER}" ] && { echo "=> MYSQL_USER cannot be empty" && exit 1; }
[ -z "${MYSQL_PASS}" ] && { echo "=> MYSQL_PASS 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" echo "=> Creating backup script"
rm -f /backup.sh rm -f /backup.sh
...@@ -31,15 +33,15 @@ if ${BACKUP_CMD} ;then ...@@ -31,15 +33,15 @@ if ${BACKUP_CMD} ;then
echo " Backup succeeded" echo " Backup succeeded"
else else
echo " Backup failed" echo " Backup failed"
rm -rf /backup/\${BACKUP_NAME} rm -rf $BACKUP_FOLDER\${BACKUP_NAME}
fi fi
if [ -n "\${MAX_BACKUPS}" ]; then 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 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" echo " Backup \${BACKUP_TO_BE_DELETED} is deleted"
rm -rf /backup/\${BACKUP_TO_BE_DELETED} rm -rf $BACKUP_FOLDER\${BACKUP_TO_BE_DELETED}
done done
fi fi
echo "=> Backup done" echo "=> Backup done"
...@@ -73,7 +75,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then ...@@ -73,7 +75,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then
echo "waiting database container..." echo "waiting database container..."
sleep 1 sleep 1
done done
ls -d -1 /backup/* | tail -1 | xargs /restore.sh ls -d -1 $BACKUP_FOLDER* | tail -1 | xargs /restore.sh
fi fi
echo "${CRON_TIME} /backup.sh >> /mysql_backup.log 2>&1" > /crontab.conf echo "${CRON_TIME} /backup.sh >> /mysql_backup.log 2>&1" > /crontab.conf
......
#!/bin/bash #!/bin/bash
BACKUP_FOLDER=${BACKUP_FOLDER:-"/backup/"}
[ -z "${POSTGRES_HOST}" ] && { echo "=> POSTGRES_HOST cannot be empty" && exit 1; } [ -z "${POSTGRES_HOST}" ] && { echo "=> POSTGRES_HOST cannot be empty" && exit 1; }
[ -z "${POSTGRES_PORT}" ] && { echo "=> POSTGRES_PORT 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_USER}" ] && { echo "=> POSTGRES_USER cannot be empty" && exit 1; }
[ -z "${POSTGRES_PASS}" ] && { echo "=> POSTGRES_PASS 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; } [ -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" echo "=> Creating backup script"
rm -f /backup.sh rm -f /backup.sh
...@@ -26,15 +28,15 @@ if ${BACKUP_CMD} ;then ...@@ -26,15 +28,15 @@ if ${BACKUP_CMD} ;then
echo " Backup succeeded" echo " Backup succeeded"
else else
echo " Backup failed" echo " Backup failed"
rm -rf /backup/\${BACKUP_NAME} rm -rf $BACKUP_FOLDER\${BACKUP_NAME}
fi fi
if [ -n "\${MAX_BACKUPS}" ]; then 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 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" echo " Backup \${BACKUP_TO_BE_DELETED} is deleted"
rm -rf /backup/\${BACKUP_TO_BE_DELETED} rm -rf $BACKUP_FOLDER\${BACKUP_TO_BE_DELETED}
done done
fi fi
echo "=> Backup done" echo "=> Backup done"
...@@ -74,7 +76,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then ...@@ -74,7 +76,7 @@ elif [ -n "${INIT_RESTORE_LATEST}" ]; then
echo "waiting database container..." echo "waiting database container..."
sleep 1 sleep 1
done done
ls -d -1 /backup/* | tail -1 | xargs /restore.sh ls -d -1 $BACKUP_FOLDER* | tail -1 | xargs /restore.sh
fi fi
echo "${CRON_TIME} /backup.sh >> /postgres_backup.log 2>&1" > /crontab.conf echo "${CRON_TIME} /backup.sh >> /postgres_backup.log 2>&1" > /crontab.conf
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment