Configuring Your Server to Backup Data

Versioned backups are an important part of any backup routine. The system can save copies of each site's database automatically to allow quick restore or recovery from an older version of a site. Please note, the backup system described here is only for providing backup from user error while working with the CMS. It should be accompanied by a higher level protection routine for hardware or file-level issues.

Each website has its own database at the server level which makes it simple to deal with backups and recovery for a single site without worrying about other sites on the server.

You'll see some backup scripts in the /sh/cron/ folder. These are:


For the avoidance of doubt, you should configure cron to run the daily script once every day, the weekly script weekly and the monthly script monthly.

These scripts will save a daily backup each day for the past week, each week for the past 5 weeks and each month for the past year. Old files are automatically removed to save space. This is a total of 24 full database backups per site, so you'll need to consider storage space on your server.

You do not need to run the weekly or monthly scripts if you don't want to keep backups for longer than 7 days.

Here are example crontab lines for these scripts:

0 2 * * * php "/var/www/html/public/sh/cron/daily-create-backups.php"
0 2 * * 0 php "/var/www/html/public/sh/cron/weekly-rotate.php"
0 2 1 * * php "/var/www/html/public/sh/cron/monthly-rotate.php"