diff --git a/roles/kde-backup/templates/backup-spring.sh b/roles/kde-backup/templates/backup-spring.sh index 48b4eab..c345fbc 100755 --- a/roles/kde-backup/templates/backup-spring.sh +++ b/roles/kde-backup/templates/backup-spring.sh @@ -1,37 +1,37 @@ #!/bin/bash LOCATION=/root/{{backup_directory}} # Backup databases for DATABASE in `mysqlshow | grep -v "information_schema" | grep -v "performance_schema" | grep -v "mysql" | tail -n+4 | awk '{print $2}'`; do mysqldump --opt --quick --single-transaction --skip-extended-insert --events --create-options --set-charset $DATABASE > $LOCATION/db.$DATABASE.`date +%w`.sql xz -f $LOCATION/db.$DATABASE.`date +%w`.sql done # Backup website contents # Don't include the Nextcloud - Borg will grab that -tar -cJf $LOCATION/srv.`date +%w`.tar.xz -C / --exclude=srv/www/share.kde.org/ srv/www +tar -cJf $LOCATION/srv.`date +%w`.tar.xz -C / --exclude=srv/www/share.kde.org srv/www # Backup Prosody tar -cJf $LOCATION/prosody.`date +%w`.tar.xz -C / var/lib/prosody 2>&1 | grep -v "file changed as we read it" # Backup homes tar -cJf $LOCATION/homes.`date +%w`.tar.xz -C / home 2>&1 | grep -v "file changed as we read it" | grep -v "socket ignored" # 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 backups to backup server 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.username}}.your-backup.de:23" # Backup Nextcloud export BORG_REPO="$BORG_SERVER/./borg-backups/nextcloud" borg create --compression zlib,5 --exclude-caches --exclude '*/thumbnails' ::'{hostname}-nextcloud-{now}' /srv/www/share.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"