Захотел заказчик видеть как продвигается его проект.
Настраиваем разворачивание бекапов с рабочего сервера на удаленный.
Удаляем старые бэкапы
Добавляем скрипт в cron на тестовом серваке
Создаем новый бэкап средствами Bitrix Для этого добавляем еще одно задание в cron на тестовом серваке
Копируем бэкапы в Yandex.Disk
Добавляем скрипт в cron на тестовом серваке
И так. На тестовом серваке у нас три задания.
Теперь на удаленном сервере добавляем скрипт разворачивания сайта в крон
На удаленном серваке у нас одно задание.
Настраиваем разворачивание бекапов с рабочего сервера на удаленный.
- user - это имя Вашего пользователя в системе
 - dbsupersait - имя базы данных сайта
 
Удаляем старые бэкапы
nano /home/user/cron/delbackup.sh
 #!/bin/bash
 rm /home/user/Yandex.Disk/*.tar.*
 rm /var/www/supersait/bitrix/backup/*.tar.*
 echo "Старые бэкапу удалены"
Добавляем скрипт в cron на тестовом серваке
crontab -eu user
0 20 * * * /home/user/cron/delbackup.sh >> /var/log/watchdog-backup.log
Создаем новый бэкап средствами Bitrix Для этого добавляем еще одно задание в cron на тестовом серваке
crontab -eu user
0 21 * * * php /var/www/supersait/bitrix/modules/main/tools/backup.php  >> /var/log/watchdog-backup.log
Копируем бэкапы в Yandex.Disk
nano /home/user/cron/copyBackup.sh
 #!/bin/bash
 cp /var/www/supersait/bitrix/backup/*.tar.* /home/user/Yandex.Disk/
 chmod 777 /home/user/Yandex.Disk/*.tar.*
 yandex-disk sync
 yandex-disk status
 echo "Копирование бэкапов в облако завершено"
 echo "bacup copy to yandex.disk" | mail -s "copy backup supersait" pochta@gmail.com
Добавляем скрипт в cron на тестовом серваке
crontab -eu user
0 22 * * * /home/user/cron/copyBackup.sh >> /var/log/watchdog-backup.log
И так. На тестовом серваке у нас три задания.
crontab -lu user
 0 21 * * * php /var/www/supersait/bitrix/modules/main/tools/backup.php >>  /var/log/watchdog-backup.log
 0 20 * * * /home/user/cron/delbackup.sh >> /var/log/watchdog-backup.log
 0 22 * * * /home/user/cron/copyBackup.sh >> /var/log/watchdog-backup.log
Теперь на удаленном сервере добавляем скрипт разворачивания сайта в крон
nano /home/user/cron/restorebitrix.sh
 #!/bin/bash
 FILE=$(date +"%Y%d%m_%H%M")
 yandex-disk sync >> /var/log/siterestore/$FILE.log
 yandex-disk status >> /var/log/siterestore/$FILE.log
 chmod 777 /home/user/Yandex.Disk/*.tar.* >> /var/log/siterestore/$FILE.log
 echo "Копирование бэкапов в облако завершено" >> /var/log/siterestore/$FILE.log
 echo "bacup copy to yandex.disk" | mail -s "copy backup supersait" pochta@gmail.com
 rm -rf /var/www/supersait >> /var/log/siterestore/$FILE.log
 echo "Удален корневой каталог сайта" >> /var/log/siterestore/$FILE.log
 mysql -u root -pпароль -e "show databases" >> /var/log/siterestore/$FILE.log
 echo "Удаление Базы MySQL" >> /var/log/siterestore/$FILE.log
 mysql -u root -pпароль -e "drop database dbsupersait" >> /var/log/siterestore/$FILE.log
 mysql -u root -pпароль -e "show databases" >> /var/log/siterestore/$FILE.log
 echo "Создаем новую базу MySQL" >> /var/log/siterestore/$FILE.log
 mysql -u root -pпароль -e "create database dbsupersait" >> /var/log/siterestore/$FILE.log
 mkdir /var/www/supersait >> /var/log/siterestore/$FILE.log
 echo "Создан каталог кореня сайта с владелбцем www-data:www-data и правами 7777" >> /var/log/siterestore/$FILE.log
 echo "Копируем бекап в корень сайта" >> /var/log/siterestore/$FILE.log
 cp /home/user/Yandex.Disk/*.tar.* /var/www/supersait >> /var/log/siterestore/$FILE.log
 chown -hR www-data:www-data /var/www/supersait >> /var/log/siterestore/$FILE.log
 chmod -R 777 /var/www/supersait >> /var/log/siterestore/$FILE.log
 cd /var/www/supersait >> /var/log/siterestore/$FILE.log
 echo "Извлечение из архива" >> /var/log/siterestore/$FILE.log
 cat *.* | tar xzv >> /var/log/siterestore/$FILE.log
 echo "восстановление дампа базы данных" >> /var/log/siterestore/$FILE.log
 mysql -u root -pпароль dbsupersait < /var/www/supersait/bitrix/backup/*full_????????.sql
 sed 's/'"'"'database.*/'"'"'database'"'"' => '"'"'dbsupersait'"'"',/g' /var/www/supersait/bitrix/.settings.php > .settings.php
 mv .settings.php /var/www/supersait/bitrix/.settings.php
 sed 's/'"'"'login.*/'"'"'login'"'"' => '"'"'root'"'"',/g' /var/www/supersait/bitrix/.settings.php > .settings.php
 mv .settings.php /var/www/supersait/bitrix/.settings.php
 sed 's/'"'"'password.*/'"'"'password'"'"' => '"'"'пароль'"'"',/g' /var/www/supersait/bitrix/.settings.php > .settings.php
 mv .settings.php /var/www/supersait/bitrix/.settings.php
 sed 's/$DBLogin.*/$DBLogin = "root";/g' /var/www/supersait/bitrix/php_interface/dbconn.php > dbconn.php
 mv dbconn.php /var/www/supersait/bitrix/php_interface/dbconn.php >> /var/log/siterestore/$FILE.log
 sed 's/$DBName.*/$DBName = "dbsupersait";/g' /var/www/supersait/bitrix/php_interface/dbconn.php > dbconn.php
 mv dbconn.php /var/www/supersait/bitrix/php_interface/dbconn.php >> /var/log/siterestore/$FILE.log
 sed 's/$DBPassword.*/$DBPassword = "пароль";/g' /var/www/supersait/bitrix/php_interface/dbconn.php > dbconn.php
 mv dbconn.php /var/www/supersait/bitrix/php_interface/dbconn.php >> /var/log/siterestore/$FILE.log
 echo "Удаление служебной информации" >> /var/log/siterestore/$FILE.log
 rm /var/www/supersait/*.tar.* >> /var/log/siterestore/$FILE.log
crontab -eu user
На удаленном серваке у нас одно задание.
crontab -lu user
0 23 * * * /home/user/cron/restorebitrix.sh >> /var/log/wathcdog-backup.log
Комментариев нет:
Отправить комментарий