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:

  1. mounts /mnt/backup to //merple/backups.
  2. iterates over the ms sqlserver databases, backing them up to /mnt/backup/gonzo/sqlserver/$DAY
  3. iterates over the mariadb databases, backing them up to /mnt/backup/gonzo/mysql/$DAY
  4. copies the apache config to /mnt/backup/gonzo/apache2-config/
  5. copies the ssl config to /mnt/backup/gonzo/ssl-config/
  6. 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/
  7. 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.