Активный бэкап сайта - статья на webew.ru
Недочет алгоритма в том, что backup выполняется вслепую без проведения теста на вероятность его восстановления. В настоящей статье мы предлагаем автоматически восстанавливать backup на резервном сервере с поддержанием рабочей резервной копии сайта.
Предлагаем следующий алгоритм действий: Каждый день в 5 утра, cron на сервере www запускает скрипт backup.pl, тот, что выполняет следующий строй действий: Создает дамп базы и архив каталога htdocs. Копирует дамп и архив на backup-сервер. Запускает на backup-сервере скрипт store backup.pl, который выполняет следующие дествия: Удаляет каталог htdocs и пересоздает пустую базу данных. Разархивирует архив файлов и восстанавливает базу данных из дампа. Добавляет информацию в. Делает иные действия, требуемые для работоспособности перенесенного сайта.
Создает каталог с именем, совпадающим с текущей датой и в него переносит новые backup-файлы. В результате живого бэкапа, на резервном сервере неизменно будет работоспособная версия сайта.
Заказчик сможет обследовать, что backup на самом деле существует и работает и это придаст ему хладнокровие и уверенность в качестве услуг. По датам сообщений на сайте будет видно, что резервная копия сделана в эти дни в 5 утра. Образец В качестве примера рассмотрим бэкап сайта webew.ru. На каждом сервере настроен apache, на первом на адрес webew.ru, на втором на адрес backup.webew.ru.
На каждом сервере есть пользователь webew, база данных webew, а корневой каталог сайта - каталог htdocs в домашнем каталоге пользователя webew. Помимо того, для удобства поместим имя и пароль для доступа к базе данных в файл. Start backup. 2... 2 webew backup. Скрипт store backup.pl на сервере backup: ! AuthType Basic AuthName webew AuthUserFile home webew. Файл. Если вы опасаетесь взлома основного сервера, то процедуру разрешено направить: скрипт.
В таком случае злоумышленник, получивший доступ к основному серверу не сможет принять ssh-доступ к резервному. Заключение Живой бэкап позволяет заказчику быть уверенным, что резервная копия в действительности есть. Кроме живого бэкапа, не забывайте беречь копии проектов на локальной машине и на сменных физических носителях. Все права на данную статью принадлежат порталу webew.ru.
Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции. Резервный сервер находится в "теплом" состоянии. Т.е. MySQL и Apache не запущены. При необходимости запускаем Apache и MySQL и получаем рабочую копию сервера. Попутно решается задача, когда бекапить надобно кучу сайтов. Копирование файлов базы при том, что первостепенный сервер работает, с большущий вероятностью приведет к битым таблицам.
Оптимальный вариант: rsync + репликация базы данных, но в этом случае испытать работоспособность сайта-копии будет нельзя, так как это нарушит репликацию. Если бинарики таблиц напрямую копировать будут траблы. Ибо это только усложняет задачу, причем, не совершенно обоснованно. С дампом может быть ряд неприятностей.
Неприятное следствие в том, что когда дамп требуется возродить, у него могут внезапно вскрыться недостатки, которые никого не беспокоили до этого. В настоящее время, пускай я заказчик. Я знаю, что есть дамп. Но позволительно ли его будет воссоздать или нет? Нелегко произнести глядя на дамп, не тестируя его. Предложенный подход автоматизирует тестирование.
Если загружается главная страничка сайта, то это крайне славный тест всех аспектов корректности дампа. Кроме того, по главной странице видно является ли дамп актуальным. Предложенный подход - это, по сути дела, автоматизация процесса тестирования восстанавливаемости бэкапа. Поясню свойский вопросительный мотив.
Предположим, на моем VDS у меня есть план projectname.ru и я решил произвести его резервную копию на backup.projectname.ru на том же VDS. Всё великолепно работает, но в единственный не хороший день на сервере сыпется хард и я теряю как основную версию сайта, так и бекап. Нет смысла живой backup действовать на том же сервере. В частности, рассмотренный в примере сайт webew переносится на backup.webew.ru, размещенный на отдельном георгафически удаленном VDS.
Как отметил paulus, лучше эти скритпы прямо строчить на bash.
По материалам http://webew.ru/articles/1462.webew