Кто-нибудь писал скрипт еженедельного автоматического восстановления?

Я пытаюсь написать скрипт с использованием cron, который мог бы автоматически восстанавливать мою резервную копию из S3 раз в неделю.

Таким образом, он будет запускаться каждое воскресенье, вместо того чтобы я заходил в интерфейс и запускал восстановление вручную. (Восстановление нашего сайта занимает несколько часов…)

Кто-нибудь делал что-то подобное?

Почему вам приходится так часто восстанавливать данные?

Ваш сайт повреждается каждую неделю?

Это для тестового сайта. Так что я могу экспериментировать с настройками и вещами.

Как проверить, что резервные копии действительно в порядке? Вы знали, что большинство людей на самом деле не проводят тесты восстановления?

Если бы я это делал, я бы запустил изолированный контейнер Docker для восстановления резервной копии. Этот контейнер Docker был бы уничтожен после успешного восстановления. Этому новому контейнеру не разрешалось бы общаться с внешним миром (например, не отправлять никакие письма, не загружать новый контент и т. д.).

Восстановление резервной копии может быть простым выполнением команды docker exec:

discourse enable_restore
discourse restore <backup>.tar.gz

Но для проверки сайта вам понадобится тот же образ контейнера… Так что, возможно, после восстановления стоит пересобрать образ и затем выполнить проверку?

docker exec app bash -c '$(discourse restore | grep discourse|head -1)'
восстановит последнюю резервную копию. Затем вы сможете настроить cron для запуска этой команды в нужное время.