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
. merple
exposes via samba as
/backups
It:
- mounts
/mnt/backup
to //merple/backups
.
- iterates over the
ms sqlserver
databases, backing them up to /mnt/backup/gonzo/sqlserver/$DAY
- iterates over the
mariadb
databases, backing them up to /mnt/backup/gonzo/mysql/$DAY
- copies the apache config to
/mnt/backup/gonzo/apache2-config/
- copies the ssl config to
/mnt/backup/gonzo/ssl-config/
- using rsync directly because smb has no compression and it's too slow otherwise, it copies
/var/www/html
directly to merple:/srv/backups/gonzo/websites/
- lastly, again using rsync directly, it copies
/home/pdcrew/*
to merple:/home/pdcrew
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.