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

{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}

{info}
Директории, которые попадают в бэкап, описаны в следующей статье: [Рекомендации по доработке личного кабинета|http://docs.carbonsoft.ru/x/IYghCw]

{info}


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}
# Заменить файл БД сайта/кабинета
{code}
rm -rf /app/asr_cabinet/var/lib/mysql/wordpress; rsync -avhP /app/asr_cabinet//skelet/var/lib/mysql/wordpress /app/asr_cabinet//var/lib/mysql/
{code}
# Удалить все пользовательские шаблоны и модули
{code}
rm -rf /app/asr_cabinet/var/cabinet_tmpl/*
rm -rf /app/asr_cabinet/var/cabinet_modules/*
{code}
# Восстановить стандартные файлы в cabinet_tmpl/ и cabinet_modules/
{code}
cp -pr /app/asr_cabinet/skelet/var/cabinet_tmpl/* /app/asr_cabinet/var/cabinet_tmpl/
cp -pr /app/asr_cabinet/skelet/var/cabinet_modules/* /app/asr_cabinet/var/cabinet_modules/
{code}
# Заменить все файлы wordpress на стандартные
{code}
rm -rf /app/asr_cabinet/var/wordpress; rsync -avhP /app/asr_cabinet/skelet/var/wordpress /app/asr_cabinet/var/
{code}
# Заменить файл настроек контейнера на стандартный
{code}
rsync -avhP /app/asr_cabinet/skelet/cfg/config /app/asr_cabinet/cfg/config
{code}
# Перезапустить службу&nbsp;
{code}
/app/asr_cabinet/service restart
{code}