Просмотр Исходного

{toc}

h2. Восстановление из резервной копии

{tip}*Время выполнения инструкции*: 5-20 минут, в зависимости от объёма БД Wordpress и объёма файлов сайта{tip}

Резервные копии хранятся в каталоге */app/asr_cabinet/mnt/backup/* и сохраняются вместе с контрольными суммами.
{info}В примере показано как восстановить наиболее свежую на текущий момент резервную копию, хранящуюся локально на сервере. Если Вам необходимо восстановить более раннюю версию, уже удаленную с сервера, скопируйте её FTP по аналогии с [восстановлением БД биллинга|CarbonBilling:Восстановление БД биллинга из резервной копии.]
{info}

h3. ШАГ 1. Распаковка резервной копии

{tip}*Время выполнения инструкции*: 1-10 минут, в зависимости от объёма сжатых данных{tip}

*1.* Определите наиболее свежую резервную копию:
{code}ll -trh /app/asr_cabinet/mnt/backup/
итого 415M
-rw-r--r-- 1 root root 107M Авг 31 02:23 backup_monthly_2016-08-31_09-23_asr_cabinet.tar.gz
-rw-r--r-- 1 root root 113 Авг 31 02:23 backup_monthly_2016-08-31_09-23_asr_cabinet.tar.gz.md5
-rw-r--r-- 1 root root 107M Янв 20 02:50 backup_weekly_2017-01-20_02-50_asr_cabinet.tar.gz
-rw-r--r-- 1 root root 112 Янв 20 02:50 backup_weekly_2017-01-20_02-50_asr_cabinet.tar.gz.md5
-rw-r--r-- 1 root root 202M Мар 1 02:50 backup_daily_2017-03-01_02-50_asr_cabinet.tar.gz
-rw-r--r-- 1 root root 111 Мар 1 02:50 backup_daily_2017-03-01_02-50_asr_cabinet.tar.gz.md5{code}
*2.* Распакуйте его следующим образом:
{code}tar -xzf /app/asr_cabinet/mnt/backup/backup_daily_2017-03-01_02-50_asr_cabinet.tar.gz -C /{code}
Распакованные данные будут лежать в каталоге */app/asr_cabinet/var/backup_data/*

{tip:title=Оба шага можно сделать одним скриптом}
{code}cabinet_backup=$(ls -ltrh /app/asr_cabinet/mnt/backup/*.tar.gz | awk '$9{print $9}' | tail -n 1); tar -xzf ${cabinet_backup} -C /; cabinet_backup={code}
{tip}

h3. ШАГ 2. Восстановление каталога Wordpress

{tip}*Время выполнения инструкции*: 1-10 минут, в зависимости от объёма сжатых данных{tip}

*1.* Скопируйте текущую папку с сайтом в другое место если она вам нужна (например, для анализа проблемы) или удалите (в примере - папка перенесена)
{code}/bin/cp -R /app/asr_cabinet/var/wordpress/ /app/asr_cabinet/root/{code}
*2.* Перенесите на её место папку из ранее распакованной резервной копии
{code}/bin/cp -R /app/asr_cabinet/var/backup_data/var/wordpress/* /app/asr_cabinet/var/wordpress{code}


h3. ШАГ 3. Восстановление базы данных

{tip}*Время выполнения инструкции*: 1-2 минуты, в зависимости от размера базы{tip}

*1.* Перейдите в контейнер локального сайта и зайдите в папку с резервной копией
{code}
chroot /app/asr_cabinet/
cd /var/backup_data/
{code}
*2.* Достаньте из архива с бекапом файл *mysql_wordpress.sql.gz*, распакуйте его с помощью gunzip:
{code}
gunzip mysql_wordpress.sql.gz
{code}
*3.* Загрузите дамп в базу данных:
{code}
mysql -uroot -p wordpress < mysql_wordpress.sql
Enter password:
{code}
После приглашения ввести пароль, просто нажмите Enter.
*4.* Выйдите из кабинета
{code}
exit или Ctrl+D
{code}
*5.* Перезапустить службу&nbsp;
{code}
/app/asr_cabinet/service restart
{code}

h2. Восстановление стандартного сайта

{tip}*Время выполнения инструкции*: до 5 минут{tip}

Для восстановления стандартного сайта на wordpress нужно:
# Остановите контейнер кабинета:
{code}
/app/asr_cabinet/service stop
{code}
# Зайти в chroot кабинета
{code}
chroot /app/asr_cabinet/
{code}
# Заменить файл БД сайта/кабинета
{code}
/bin/cp -arp /skelet/var/lib/mysql/wordpress/* /var/lib/mysql/wordpress/
{code}
# Удалить все пользовательские шаблоны и модули
{code}
rm -rf /var/cabinet_tmpl/*
rm -rf /var/cabinet_modules/*
{code}
# Заменить все файлы wordpress на стандартные
{code}
/bin/cp -arp /skelet/var/wordpress/* /var/wordpress/
{code}
# Заменить файл настроек контейнера на стандартный
{code}
/bin/cp -arp /skelet/cfg/config /cfg/config
{code}
# Выйдите из кабинета
{code}
exit
{code}
# Перезапустить службу&nbsp;
{code}
/app/asr_cabinet/service restart
{code}