Создание резервной копии с помощью командной строки

Примечание

Эта функциональность впервые появилась в CS-Cart 4.8.2.

Создавать резервную копию магазина на CS-Cart можно из командной строки. Преимуществ у такого варианта два:

  1. Не нужно заходить в панель администратора, искать нужный пункт меню и задавать настройки резервной копии вручную. Достаточно один раз подготовить команду, а потом в любой момент скопировать её в командную строку на сервере и выполнить.
  2. Готовую команду можно добавить в cron или другую программу для автоматического выполнения заданий в определённое время. Тогда вы сможете автоматически создавать резервные копии (например, раз в день).

Вот как выглядит команда на создание полной резервной копии магазина, с файлами и базой данных:

php /path/to/cart/admin.php --dispatch=datakeeper.backup --p --backup_database=Y --backup_files=Y --dbdump_tables=all --dbdump_data=Y --extra_folders[]=var/files --extra_folders[]=var/attachments --extra_folders[]=var/langs

Примечание

Обязательно замените /path/to/cart на путь до вашей установки CS-Cart на сервере.

Параметр Описание
p Этот параметр нужен для того, чтобы контроллер (dispatch=datakeeper.backup) принял все остальные POST-параметры.
backup_database
Делать ли резервную копию базы данных (БД)?
Y — да;
N — нет.
backup_files
Делать ли резервную копию файлов?
Y — да;
N — нет.
dbdump_filename Имя SQL-файла с резервной копией БД. Если параметр не указан, то в качестве имени будет использоваться дата создания резервной копии.
dbdump_tables[] Массив с таблицами, которые нужно зарезервировать. Указывается полное имя таблицы с префиксом. Если требуется резервная копия всех таблиц, передавайте параметр all.
dbdump_schema
Делать ли резервную копию схемы БД?
Y — да;
N — нет.
dbdump_data
Сохранять ли данные из БД?
Y — да;
N — нет.
extra_folders[] Массив с нестандартными директориями (т.е. теми, которых нет в CS-Cart по умолчанию), которые нужно зарезервировать. Указывается полный путь из директории с установленным CS-Cart.
compress (необязательно) Формат архива. По умолчанию используется zip; для tgz нужно передать tgz.
pack_name (необязательно) Имя архива с резервной копией файлов и БД. Если не задано, то используется имя по умолчанию.

Например, вот команда, которая сделает резервную копию таблицы cscart_products со всеми данными, а также директорий var/langs и var/attachments:

php /path/to/cart/admin.php --dispatch=datakeeper.backup --p --backup_database=Y --backup_files=Y --dbdump_tables[]=cscart_products --dbdump_data=Y --extra_folders[]=var/langs --extra_folders[]=var/attachments