diff --git a/backups.yml b/backups.yml index 20e1672..b66e069 100644 --- a/backups.yml +++ b/backups.yml @@ -1,35 +1,36 @@ --- - hosts: - olios.kde.org - mason.kde.org - cano.kde.org - overwatch.kde.org - bluemchen.kde.org - fiesta.kde.org - recluse.kde.org - code.kde.org - stumptown.kde.org - mimi.kde.org - gohma.kde.org - spring.kde.org - orbi.kde.org - dalca.kde.org - ange.kde.org - pirate.kde.org - library.kde.org - rosetta.kde.org - letterbox.kde.org - thera.kde.org - mygalo.kde.org - komaci.kde.org - edulis.kde.org + - platna.kde.org vars_files: - vars/backups.yml - vars/backups-vault.yml roles: - kde-backup diff --git a/production/host_vars/platna.kde.org.yml b/production/host_vars/platna.kde.org.yml new file mode 100644 index 0000000..17b9a7f --- /dev/null +++ b/production/host_vars/platna.kde.org.yml @@ -0,0 +1,5 @@ +--- +backup_directory: backups +gohma_backup_user: platnabackup +gohma_backup_home: BACKUP.platna.kde.org +backup_apt_dependencies: [borgbackup] diff --git a/roles/kde-backup/templates/backup-platna.sh b/roles/kde-backup/templates/backup-platna.sh new file mode 100644 index 0000000..06e2fcf --- /dev/null +++ b/roles/kde-backup/templates/backup-platna.sh @@ -0,0 +1,28 @@ +#!/bin/bash +LOCATION=/root/{{backup_directory}} + +# Backup website contents +tar -cJf $LOCATION/srv.`date +%w`.tar.xz -C / srv/ + +# 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 +cd $LOCATION/.. +rsync --timeout=600 --delete -a backups -4 {{gohma_backup_user}}@micrea.kde.org: + +# Prepare to run Borg backups +export BORG_PASSPHRASE='{{backup_borg_passphrase}}' +BORG_SERVER="ssh://{{gohma_backup_user}}@micrea.kde.org" + +# Backup Prosody +export BORG_REPO="$BORG_SERVER/./borg-backups/kdetalk-prosody" +borg create --compression zlib,5 --exclude-caches ::'{hostname}-kdetalk-prosody-{now}' /var/lib/prosody/ 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 homes +export BORG_REPO="$BORG_SERVER/./borg-backups/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"