support 447 Опубликовано 17 июля, 2020 Жалоба Share Опубликовано 17 июля, 2020 Добавляем в крон задание. Для этого выполняем команду: crontab -e Добавим выполнение скрипта раз в сутки и каждые 2 часа: # Everyday at 1 a.m. #00 01 * * * /bin/bash /db-backup/mongo_restore.sh # Every 2 hours 0 */2 * * * /bin/bash /db-backup/mongo_restore.sh Сам shell скрипт /db-backup/mongo_restore.sh: #!/bin/bash /usr/bin/mongo shop --eval "printjson(db.dropDatabase())" /usr/bin/mongorestore -d shop /db-backup/shop rm -r /var/www/cezerin2/public/content rm -r /var/www/cezerin2/theme/settings rm -r /var/www/cezerin2/theme/assets cp -r /var/www-backup-17-07-2020/cezerin2/public/content /var/www/cezerin2/public/content cp -r /var/www-backup-17-07-2020/cezerin2/theme/settings /var/www/cezerin2/theme/settings cp -r /var/www-backup-17-07-2020/cezerin2/theme/assets /var/www/cezerin2/theme/assets Что здесь проиходит?! Всё просто. Очищаем текущую mongo базу shop Затем загружаем в базу shop резервную копию базы из /db-backup/shop Командой mongorestore Резервная копия базы создаётся командой: /usr/bin/mongodump -d shop -o /db-backup т.е. мы создали резервную копию базы shop в папку /db-backup и затем просто по расписанию восстанавливаем базу к исходному состоянию через: /usr/bin/mongorestore -d shop /db-backup/shop Далее в shell скрипте удаляем директории с картинками товаров, с настройкам шаблона, с картинками шаблона: /public/content /theme/settings /theme/assets Их нужно удалить потому что в онлайн демке могли быть добавлены картинки, слайды, настройки изменены во время теста онлайн-демки. Поэтому надо всё очищать и возвращать к оригинальному виду. Удаляем папки и просто переписываем из резервной копии. Всё. Теперь онлайн-демо версия https://vamhost.ru , https://admin.vamhost.ru возвращается к исходному состоянию каждые 2 часа. Автоматически. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения