Захотел заказчик видеть как продвигается его проект.
Настраиваем разворачивание бекапов с рабочего сервера на удаленный.
- 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