From 243f292f7f564a31b976f11994435fcfc05539bf Mon Sep 17 00:00:00 2001 From: Johan Lundberg Date: Wed, 1 Apr 2015 14:24:47 +0200 Subject: Added postgres backup script and updated cron jobs. --- .../overlay/etc/cron.d/flog_daily | 8 +++--- .../overlay/usr/local/bin/postgres_backup | 30 ++++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100755 sto-tug-kvm2.swamid.se/overlay/usr/local/bin/postgres_backup diff --git a/sto-tug-kvm2.swamid.se/overlay/etc/cron.d/flog_daily b/sto-tug-kvm2.swamid.se/overlay/etc/cron.d/flog_daily index 2bfb1c9..6a3eed0 100644 --- a/sto-tug-kvm2.swamid.se/overlay/etc/cron.d/flog_daily +++ b/sto-tug-kvm2.swamid.se/overlay/etc/cron.d/flog_daily @@ -1,6 +1,6 @@ -0 23 * * * root scriptherder --mode wrap --name update_institutions -- curl https://meta.eduroam.se/institution.xml -so /opt/flog/institution.xml -#1 0 * * * postgres /usr/bin/pg_dumpall | /bin/gzip > /var/postgresbackup/postgres-dumpall-flogdb.gz +0 23 * * * root scriptherder --mode wrap --name flog_update_institutions -- curl https://meta.eduroam.se/institution.xml -so /opt/flog/institution.xml +#1 0 * * * root scriptherder --mode wrap --syslog --name flog_db_backup -- /usr/local/bin/postgres_backup # Run aggregation and caching for eduroam data -10 0 * * * root scriptherder --mode wrap --name daily_eduroam -- docker run --rm -v /opt/flog/dotenv:/opt/flog/.env -v /var/log/flog_cron/:/opt/flog/logs/ -v /opt/flog/institution.xml:/opt/flog/institution.xml -v /opt/flog/dotenv:/opt/flog/.env -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --link flog_db:flog_db.docker docker.sunet.se/flog/flog_app /bin/sh -e /usr/local/bin/daily_eduroam +10 0 * * * root scriptherder --mode wrap --name flog_daily_eduroam -- docker run --rm -v /opt/flog/dotenv:/opt/flog/.env -v /var/log/flog_cron/:/opt/flog/logs/ -v /opt/flog/institution.xml:/opt/flog/institution.xml -v /opt/flog/dotenv:/opt/flog/.env -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --link flog_db:flog_db.docker docker.sunet.se/flog/flog_app /bin/sh -e /usr/local/bin/daily_eduroam # Run aggregation and caching for sso data -10 0 * * * root scriptherder --mode wrap --name daily_sso -- docker run --rm -v /opt/flog/dotenv:/opt/flog/.env -v /var/log/flog_cron/:/opt/flog/logs/ -v /opt/flog/dotenv:/opt/flog/.env -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --link flog_db:flog_db.docker docker.sunet.se/flog/flog_app /bin/sh -e /usr/local/bin/daily_sso +10 0 * * * root scriptherder --mode wrap --name flog_daily_sso -- docker run --rm -v /opt/flog/dotenv:/opt/flog/.env -v /var/log/flog_cron/:/opt/flog/logs/ -v /opt/flog/dotenv:/opt/flog/.env -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --link flog_db:flog_db.docker docker.sunet.se/flog/flog_app /bin/sh -e /usr/local/bin/daily_sso diff --git a/sto-tug-kvm2.swamid.se/overlay/usr/local/bin/postgres_backup b/sto-tug-kvm2.swamid.se/overlay/usr/local/bin/postgres_backup new file mode 100755 index 0000000..9749390 --- /dev/null +++ b/sto-tug-kvm2.swamid.se/overlay/usr/local/bin/postgres_backup @@ -0,0 +1,30 @@ +# +# Simplistic postgres backup +# + +BACKUPROOT="/var/docker/postgres_data/backup/" +DBCONTAINER="flog_db" + +if [ ! -d ${BACKUPROOT} ]; then + echo "$0: Directory ${BACKUPROOT} does not exist - aborting." + exit 1 +fi + +set -e + +# keep seven days worth of dumps +rm -rf ${BACKUPROOT}/postgres-dumpall-flogdb.gz.7 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.6 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.6 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.7 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.5 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.5 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.6 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.4 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.4 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.5 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.3 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.3 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.4 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.2 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.2 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.3 +test -d ${BACKUPROOT}/postgres-dumpall-flogdb.gz.1 && mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz.1 ${BACKUPROOT}/postgres-dumpall-flogdb.gz.2 + +echo "Running postgres pg_dumpall..." + +cd ${BACKUPROOT} +/usr/bin/docker exec ${DBCONTAINER} sudo -u postgres /usr/bin/pg_dumpall | /bin/gzip > postgres-dumpall-flogdb.gz + +mv ${BACKUPROOT}/postgres-dumpall-flogdb.gz ${BACKUPROOT}/postgres-dumpall-flogdb.gz.1 + -- cgit v1.1