mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-30 18:57:12 +01:00
auto db backup script
This commit is contained in:
10
config/mysql/Dockerfile
Normal file
10
config/mysql/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
FROM mysql:5
|
||||
ENV force_color_prompt yes
|
||||
|
||||
RUN apt-get update;
|
||||
RUN apt-get install -y cron;
|
||||
|
||||
ENTRYPOINT \
|
||||
service cron start; \
|
||||
printenv | grep -v "no_proxy" >> /etc/environment; \
|
||||
docker-entrypoint.sh mysqld
|
||||
28
config/mysql/backup-script
Normal file
28
config/mysql/backup-script
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
FREQUENTY=`basename "$0"`
|
||||
TIMESTAMP=$(date +"%Y-%m-%d")
|
||||
|
||||
case $FREQUENTY in
|
||||
|
||||
daily)
|
||||
DAYS=6
|
||||
;;
|
||||
|
||||
weekly)
|
||||
DAYS=30
|
||||
find /backups -type f -name $TIMESTAMP-daily.sql.gz -delete
|
||||
;;
|
||||
|
||||
monthly)
|
||||
DAYS=122
|
||||
find /backups -type f -name $TIMESTAMP-weekly.sql.gz -delete
|
||||
;;
|
||||
esac
|
||||
|
||||
mysqldump -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} | gzip > /backups/$TIMESTAMP-$FREQUENTY.sql.gz
|
||||
|
||||
# Remove old backups
|
||||
find /backups -mtime +${DAYS} -type f -name *-$FREQUENTY.sql.gz -delete
|
||||
|
||||
exit 0;
|
||||
Reference in New Issue
Block a user