Резервное копирование и восстановление
DC CMS включает в себя встроенный скрипт, предназначенный для удобного создания резервных копий и восстановления окружения. Этот скрипт обеспечивает полноценное создание резервной копии вашего окружения, включая индексы, репозитории, MongoDB и многое другое. Вы можете использовать предпочтительные инструменты резервного копирования для управления созданным файлом резервной копии окружения DC CMS.
Резервное копирование
Для обеспечения безопасности DC CMS достаточно создать резервную копию authoring-окружения (CMS Studio). Delivery-уровень (CMS Engine) может легко восстанавливаться путем развертывания новых узлов, которые синхронизируются между собой. Также можно создать их резервную копию с дальнейшим восстановлением.
Рекомендуется выключить DC CMS перед выполнением резервного копирования. После завершения резервного копирования перезапустите систему, что может привести к некоторому временному простою для авторов контента.
Запуск скрипта резервного копирования
Чтобы создать резервную копию вашего delivery- или authoring-окружения, перейдите в {DС-CMS-install-directory}/{env}/bin, где {env} представляет окружение (delivery или authoring). Затем выполните следующую команду:
./cms.sh backup {filename}
Обратите внимание, что {filename} является необязательным.
Ваш файл резервной копии будет сохранен по умолчанию по пути $CMS_HOME/backups/ (где $CMS_HOME - это {DC-CMS-install-directory}/{env}).
Если вы хотите изменить расположение файла резервной копии, в переменных окружения в следующей строке измените $CMS_HOME/backups на ваше предпочтительное местоположение:
export CMS_BACKUPS_DIR=${CMS_BACKUPS_DIR:="$CMS_HOME/backups"}
Если было указано имя файла ({filename}), ваш файл резервной копии будет называться {filename}-{yyyy-MM-dd-hh-mm-ss}.zip, где:
filename- имя файлаyyy- год, например, 2017ММ- месяц, с 01 по 12, например, 07 для обозначения июляdd- день, с 00 по 30 или 31hh- это часы с 00 до 23mm- минуты с 00 до 59ss- секунды с 00 до 59
Если имя файла ({filename}) не было указано, файл резервной копии будет называться либо authoring-backup-{yyyy-ММ-dd-hh-mm-ss}.zip, либо delivery-backup-{yyyy-ММ-dd-hh-mm-ss}.zip, в зависимости от того, для какого окружения вы создаете резервную копию.
Восстановление
Для начала восстановления резервной копии убедитесь, что DC CMS в данный момент не запущен. Для восстановления вашего delivery- или authoring-окружения перейдите по пути {DC-CMS-install-directory}/{env}/bin, где {env} представляет delivery- или authoring-окружение. Выполните следующую команду:
./cms.sh restore {backup-file}
После этого появится предупреждение с подобным сообщением: "Предупреждение: Вы собираетесь восстановить DC CMS из резервной копии, что приведет к удалению существующих сайтов и связанной базы данных, заменяя все восстановленными данными. Если вам важно текущее состояние системы, прервите этот процесс, создайте резервную копию и затем продолжите восстановление. Вы уверены, что хотите продолжить? (Да/Нет)". Нажмите "Да", чтобы продолжить процесс восстановления, или "Нет", чтобы прервать его.
Если вы восстанавливаете authoring-окружение, CMS Studio будет запущена в рамках процесса восстановления. Если вы восстанавливаете delivery-окружение, вам нужно будет вручную запустить данное окружение после завершения процесса восстановления.
При восстановлении authoring-окружения для предотвращения конфликтов убедитесь, что вы выполняете одно из следующих действий для delivery-окружения:
- Восстановите delivery-окружение, следуя указанным выше шагам.
ИЛИ
- Повторно установите delivery-окружение, удалив папку
data, расположенную в{DC-CMS-install-directory}/delivery/, и выполните скриптinit-site.shдля всех сайтов.
Обратите внимание, что при использовании аутентификации по закрытому ключу SSH путь к закрытому ключу должен быть явно установлен с использованием опции -k. Пример:
init-site -k ~/.ssh/jdoe_key myeditorial ssh://myserver/opt/cms/sites/myeditorial