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/backup
to//merple/backups
. - iterates over the
ms sqlserver
databases, backing them up to/mnt/backup/sqlserver/$DAY
- iterates over the
mariadb
databases, 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/html
directly 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.