support 446 Posted July 17, 2020 Report Share Posted July 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 часа. Автоматически. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.