diff --git a/roles/kde-backup/templates/backup-edulis.sh b/roles/kde-backup/templates/backup-edulis.sh index 40515ee..3f71fce 100644 --- a/roles/kde-backup/templates/backup-edulis.sh +++ b/roles/kde-backup/templates/backup-edulis.sh @@ -1,32 +1,32 @@ LOCATION=/root/{{backup_directory}} # Backup configuration and list of installed packages tar -czf $LOCATION/etc.`date +%w`.tgz -C / etc/ tar -czf $LOCATION/crontabs.`date +%w`.tgz -C / var/spool/cron/ dpkg -l > $LOCATION/dpkg.`date +%w` # Transfer the generated backups lftp -f ~/bin/backup-options # Borg backup time! Let's get ready to go... export BORG_PASSPHRASE='{{backup_borg_passphrase}}' {% set backup_creds = hetzner_backup_creds[hetzner_backup_host] %} BORG_SERVER="ssh://{{backup_creds.username}}@{{backup_creds.hostname}}:23" # Backup databases export BORG_REPO="$BORG_SERVER/./borg-backups/edulis-databases" for DATABASE in `mysqlshow | grep -v "information_schema" | grep -v "performance_schema" | grep -v "mysql" | grep -v "sys" | tail -n+4 | awk '{print $2}'`; do mysqldump --opt --quick --single-transaction --skip-extended-insert --events --create-options --set-charset $DATABASE | borg create --compression lzma,3 "::{hostname}-$DATABASE-{now}" - 2>&1 | grep -v "Compacting segments" - borg prune --prefix "{hostname}-$DATABASE" --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" + borg prune --prefix "{hostname}-$DATABASE" --keep-daily 7 --keep-weekly 4 --keep-monthly 3 2>&1 | grep -v "Compacting segments" done # Backup /srv export BORG_REPO="$BORG_SERVER/./borg-backups/edulis-app-files" borg create --compression zlib,5 --exclude-caches --exclude /srv/www/paste.kde.org/app/storage/sessions/ ::'{hostname}-srv-{now}' /srv/ 2>&1 | grep -v "Compacting segments" -borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" +borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 3 2>&1 | grep -v "Compacting segments" # Backup /home export BORG_REPO="$BORG_SERVER/./borg-backups/edulis-homes" borg create --compression zlib,5 --exclude-caches ::'{hostname}-homes-{now}' /home/ 2>&1 | grep -v "Compacting segments" -borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" +borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 3 2>&1 | grep -v "Compacting segments" diff --git a/roles/kde-backup/templates/backup-komaci.sh b/roles/kde-backup/templates/backup-komaci.sh index 02ace1e..677b423 100755 --- a/roles/kde-backup/templates/backup-komaci.sh +++ b/roles/kde-backup/templates/backup-komaci.sh @@ -1,35 +1,35 @@ #!/bin/bash LOCATION=/root/{{backup_directory}} # Cleanup old backups find $LOCATION -mtime +3 | xargs rm -f # Backup the installed software tar -cJf $LOCATION/srv-bugs.`date +%w`.tar.xz -C / srv/ # Backup all our home directories tar -cJf $LOCATION/homes.`date +%w`.tar.xz -C / home # Grab the system config, package listing and cronjobs dpkg -l > $LOCATION/dpkg.`date +%w` tar -czf $LOCATION/crontabs.`date +%w`.tgz -C / var/spool/cron/ tar -czf $LOCATION/etc.`date +%w`.tar.gz -C / etc chmod -R 700 $LOCATION # Transfer them to the backup server cd $LOCATION/.. lftp -f ~/bin/backup-options # Prepare to run Borg backups export BORG_PASSPHRASE='{{backup_borg_passphrase}}' {% set backup_creds = hetzner_backup_creds[hetzner_backup_host] %} BORG_SERVER="ssh://{{backup_creds.username}}@{{backup_creds.hostname}}:23" # Backup databases into Borg export BORG_REPO="$BORG_SERVER/./borg-backups/bugs-database" mysqldump --opt --quick --single-transaction --skip-extended-insert --events --create-options --set-charset bugs | borg create --compression lzma,3 ::'{hostname}-db-backups-{now}' - 2>&1 | grep -v "Compacting segments" -borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" +borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 3 2>&1 | grep -v "Compacting segments" diff --git a/roles/kde-backup/templates/backup-milonia.sh b/roles/kde-backup/templates/backup-milonia.sh index 4e4175a..0ebb27e 100644 --- a/roles/kde-backup/templates/backup-milonia.sh +++ b/roles/kde-backup/templates/backup-milonia.sh @@ -1,49 +1,49 @@ LOCATION=/root/{{backup_directory}} # Backup mirrors listing mb -b download export --format=postgresql > $LOCATION/mirrors-download.`date +%w`.sql mb -b files export --format=postgresql > $LOCATION/mirrors-files.`date +%w`.sql # Backup configuration and list of installed packages tar -czf $LOCATION/etc.`date +%w`.tgz -C / etc/ tar -czf $LOCATION/crontabs.`date +%w`.tgz -C / var/spool/cron/ dpkg -l > $LOCATION/dpkg.`date +%w` # Transfer traditional backups to Hetzner Backup Space lftp -f ~/bin/backup-options # Prepare to run Borg backups export BORG_PASSPHRASE='{{backup_borg_passphrase}}' {% set backup_creds = hetzner_backup_creds[hetzner_backup_host] %} BORG_SERVER="ssh://{{backup_creds.username}}@{{backup_creds.hostname}}:23" # Backup Homes export BORG_REPO="$BORG_SERVER/./borg-backups/homes" borg create --compression none --exclude-caches --exclude /home/akademy/2017 --exclude /home/marble/newstuff-tmp ::'{hostname}-homes-{now}' /home/ 2>&1 | grep -v "Compacting segments" borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" # Backup Distribute export BORG_REPO="$BORG_SERVER/./borg-backups/cdn" borg create --compression none --exclude-caches ::'{hostname}-cdn-{now}' /srv/www/cdn.kde.org/ 2>&1 | grep -v "Compacting segments" borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" # Backup Distribute export BORG_REPO="$BORG_SERVER/./borg-backups/distribute" borg create --compression none --exclude-caches ::'{hostname}-distribute-{now}' /srv/www/distribute.kde.org/ 2>&1 | grep -v "Compacting segments" -borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" +borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 3 2>&1 | grep -v "Compacting segments" # Backup Maps export BORG_REPO="$BORG_SERVER/./borg-backups/maps" borg create --compression none --exclude-caches ::'{hostname}-maps-{now}' /srv/www/maps.kde.org/ 2>&1 | grep -v "Compacting segments" borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" # Backup Download export BORG_REPO="$BORG_SERVER/./borg-backups/download" borg create --compression none --exclude-caches ::'{hostname}-download-{now}' /srv/archives/ftp/ 2>&1 | grep -v "Compacting segments" borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments" # Backup Files export BORG_REPO="$BORG_SERVER/./borg-backups/files" borg create --compression none --exclude-caches ::'{hostname}-files-{now}' /srv/archives/files/ 2>&1 | grep -v "Compacting segments" borg prune --prefix '{hostname}-' --keep-daily 7 --keep-weekly 4 --keep-monthly 6 2>&1 | grep -v "Compacting segments"