Views: 5912
Last Modified: 26.09.2017
Often, when deploying project, based on BitrixVA/BitrixEnv, a backup copy for the project is required.
Automatic backup feature for the site and the database is available in BitrixVA/BitrixEnv. Backup will be created as per schedule in the .tar.gz archive format and recorded in the directory /home/bitrix/backup/archive/
.
This method has both advantages and disadvantages, compared to Bitrix24 products built-in backup copy mechanism:
- Advantages: higher creation speed for backup copy and independence from project performance.
- Disadvantages: backup copy cannot be created for files, stored in Cloud-storage drives.
To create scheduled automatic backup copy via BitrixVA/BitrixEnv tools:
- Select item 6. Manage sites in the pool > 6. Change backup settings on site in the Virtual Appliance settings.
- Select host name from the list and confirm the option to change of automatic backup schedule:

- Select period and hour for the start of automatic backup:

If more detailed configuration for backup is required, command line utility can be used:
/opt/webdir/bin/bx-sites -a backup -d dbcp --enable --minute=10 --hour=18 --day=any --month=any --weekday=any
Note: How to configure the correct time in
BitrixVA/BitrixEnv, see
here.
- After this step, the work of configuration wizard is finished. The task to create backup copy for project is added in Cron (
/etc/crontab
).
Backup is created for kernel (site type kernel and ext_kernel) and its all links, if such exist.
To perform backup, the task is created in crontab-file. For example:
10 22 * * * bitrix /opt/webdir/bin/bx_backup.sh sitemanager0 /home/bitrix/backup/archive
As the first option, DB name is added; second option indicates catalogue, where the archive will be created.
As a result, the following type of archive will be created by the script: www_backup__DD.MM.YYYY_<random_string>.tar.gz (for example - www_backup_dbcp_21.10.2014_1RJKXbMv.tar.gz).
The following files could exist inside the archive:
- DB dump
/home/bitrix/mysql_dump__DD.MM.YYYY_.sql
- site kernel data
- sites Links-type data with full path
Backup management via bx-sites
-a|--action
- action to manage the site; in this case it executes backup
-d|--database
- DB name (data for all sites that use this DB will be contained in the backup)
--enable|--disable
- enabling and disabling backup for sites
--minute
- parameters for crontab file record (minutes)
--hour
- parameters for crontab file record (hours)
--day
- parameters for crontab file record (day)
--month
- parameters for crontab file record (month)
--weekday
- parameters for crontab file record (week day)
In case of successful execution, the utility will return new options for site:
/opt/webdir/bin/bx-sites -a backup -d sitemanager0 --enable --minute=10 --hour=23 --day=1 --month=any --weekday=any -o json | python -mjson.tool
...
"BackupCronFile": "/etc/crontab",
"BackupDay": "1",
"BackupFolder": "/home/bitrix/backup/archive",
"BackupHour": "23",
"BackupMinute": "10",
"BackupMonth": "*",
"BackupTask": "enable",
"BackupVersion": "v5",
"BackupWeekDay": "*",
...
Exclusion lists
Several files/catalogues are queried to be excluded from the backup copy. The list of such exclusions can be found in the file /opt/webdir/bin/ex.txt.
By default, it contains the following subcatalogues:
bitrix/cache
bitrix/managed_cache
bitrix/stack_cache
bitrix/local_cache
bitrix/backup
bitrix/tmp
upload/tmp
upload/resize_cache
Backup. contents/recovery
As noted above, backup includes:
- site kernel catalogue itself (kernel или ext_kernel);
- DB dump file (
/home/bitrix/mysql_dump_<db>.sql
);
- sites catalogues (link), which use the kernel.
For example, the command:
/opt/webdir/bin/bx_backup.sh sitemanager0 /home/bitrix/backup/archive
creates file www_backup_sitemanager0_30.01.2015_bnnW1NPm.tar.gz in the directory /home/bitrix/backup/archive/
To perform backup, it is necessary to go to DocumentRoot of the kernel. Execute:
tar xzvvf www_backup_sitemanager0_30.01.2015_zEQkXREd.tar.gz ./
...
-rw-r--r-- bitrix/bitrix 5013 2015-01-30 14:02 ./workgroups/.left.menu_ext.php
-rw-r--r-- bitrix/bitrix 319 2015-01-30 14:01 ./.top_links.menu.php
-rw-r--r-- root/root 5313008 2015-01-30 14:22 home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm.sql
drwxr-xr-x Creating directory: home
drwxr-xr-x Creating directory: home/bitrix
-rw-r--r-- root/root 44 2015-01-30 14:22 home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm_after_connect.sql
After that, DB is to be restored:
mysql sitemanager0 < home/bitrix/mysql_dump_sitemanager0_30.01.2015_bnnW1NPm_after_connect.sql
As well as the data of additional sites, if available:
rsync -av home/bitrix/ext_www/ /home/bitrix/ext_www/
Attention!: Do not forget to monitor the space on disk and periodically delete old backup copies.