Резервное копирование и восстановление
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