Server Backups
Crontab for gonzo
# m h dom mon dow command # every night (at 5am) back up all databases to merple 0 5 * * * /root/backup_scripts/nightly_backup.sh > /var/log/nightly_backup.log 2>&1 # local backup jobs # give Matt a back up of the sql server databases every 4 hours 0 */4 * * * /root/backup_scripts/sqlserver_backup.sh HOUR > /var/log/hour_backup.log 2>&1 # every Monday 0 4 1 * * /root/backup_scripts/sqlserver_backup.sh WEEK > /var/log/weekly_backup.log 2>&1 # and on the 1st of the month 0 4 1 * * /root/backup_scripts/sqlserver_backup.sh MONTH > /var/log/monthly_backup.log 2>&1
The Scripts
Scripts are located in /root/backup.
Nightly backup
The nightly back copies everything to merple. It:
- mounts
/mnt/backupto//merple/backups. - iterates over the
ms sqlserverdatabases, backing them up to/mnt/backup/sqlserver/$DAY - iterates over the
mariadbdatabases, backing them up to/mnt/backup/mysql/$DAY - copies the apache config to
/mnt/backup/apache2-config/ - copies the ssl config to
/mnt/backup/ssl-config/ - finally, using rsync directly because smb has no compression and it's too slow otherwise, it copies
/var/www/htmldirectly tomerple:/srv/backups/websites/
Other backups
In order to give Matt the ability to roll back any damaging database changes (or recover historical data), we back up the MS Sql Server every 4 hours, every Monday and on the first day of the month. These go to /var/opt/mssql/data/backups/$BACKUP_FOLDER and Matt can restore from them using Sql Server Manager.