Created Setting up Backup (markdown)
parent
1b37c6673f
commit
ce60906fe0
70
Setting-up-Backup.md
Normal file
70
Setting-up-Backup.md
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
Here we are describing a basic back-up scenario for our site. We will be using Amazon S3 for the backup.
|
||||||
|
|
||||||
|
## Install *Backup and Migrate* Module
|
||||||
|
|
||||||
|
Sign in as the *webadmin* user:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo su - webadmin
|
||||||
|
```
|
||||||
|
|
||||||
|
Download and enable the *Backup and Migrate' module:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd cms
|
||||||
|
$ ./vendor/bin/drush dl backup_migrate
|
||||||
|
$ ./vendor/bin/drush en backup_migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setup CRON
|
||||||
|
|
||||||
|
Run `crontab -e` as the *webadmin* user and add this cron job:
|
||||||
|
|
||||||
|
```
|
||||||
|
0 * * * * wget -O - -q -t 1 https://cms.theo-andreou.org/cron.php?cron_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#overlay-context=
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create a scheduled backup
|
||||||
|
|
||||||
|
Go to `Configuration -> Backup and Migrate -> Schedules`:
|
||||||
|
|
||||||
|
Press the 'Add Schedule':
|
||||||
|
* Schedule Name: **Daily backup**
|
||||||
|
* Backup Source: **Entire site**
|
||||||
|
* Enabled: **Tick**
|
||||||
|
|
||||||
|
Keep the default settings on everything else.
|
||||||
|
|
||||||
|
## Prepare the backup script
|
||||||
|
|
||||||
|
Install prerequisites:
|
||||||
|
|
||||||
|
Prepare the following script (*/etc/cron.daily/backup-cms*):
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
CMS_BACKUP_PATH=/srv/webadmin/cms/sites/default/private/backup_migrate/scheduled
|
||||||
|
S3_CMS_LOG_PATH=/var/log/aws-s3-sync-cms-$(date +%F).log
|
||||||
|
S3_BUCKET=s3.example.com
|
||||||
|
|
||||||
|
aws s3 sync ${CMS_BACKUP_PATH} s3://${S3_BUCKET}/ 2>&1 ${S3_CMS_LOG_PATH}
|
||||||
|
|
||||||
|
find ${CMS_BACKUP_PATH} -type f -mtime +30 -delete
|
||||||
|
find /var/log/aws-s3-sync-*.log -type f -mtime +30 -delete
|
||||||
|
```
|
||||||
|
|
||||||
|
Give execute permissions:
|
||||||
|
|
||||||
|
```
|
||||||
|
# chmod +x /etc/cron.daily/backup-cms
|
||||||
|
```
|
||||||
|
|
||||||
|
**NOTE: This is an over-simplified backup scenario. For large installations you may need to come up with something more elaborate.**
|
||||||
|
|
||||||
|
References
|
||||||
|
----------
|
||||||
|
* https://www.drupal.org/docs/7/backing-up-and-migrating-a-site/backing-up-a-site
|
||||||
|
* https://www.drupal.org/docs/7/setting-up-cron-for-drupal/configuring-cron-jobs-using-the-cron-command
|
Loading…
Reference in a new issue