Резервирование и бэкап — зачем и как.
33 комментария
Все данные, хранящиеся на жестких дисках, флешках, и прочих носителях, всегда находятся под некоторой угрозой. Диск может сломаться, флешка исчезнуть, а владелец файлов (чаще всего) может их случайно удалить или испортить. Поэтому предлагаю немного поразмыслить о резервировании критически важных данных.
Начнём с сайта. Среднестатистический сайт — это набор файлов на диске и база данных, как правило — MySQL.
С базой данных особых проблем не вижу:
- для WordPress есть плагин WordPress Database Backup
, который сохраняет базу по расписанию и отправляет её на e-mail - для других систем можно воспользоваться скриптом Sypex Dumper
, или настроить дамп и отправку по почте самостоятельно (несколько строк кода).
С сохранением файлов сайта чуть сложнее. Можно просто периодически сохранять их вручную, но можно и автоматизировать.
Сначала заархивируем все файлы сайта в один архив с помощью библиотеки PclZip
:
<?php require_once('pclzip.lib.php');
$date = date('Y-m-d');
$archive = new PclZip("$date.zip");
$v_list = $archive->add('../');
if ($v_list == 0) { die("Error : ".$archive->errorInfo(true)); }
В этом примере $v_list — это относительный путь к архивируемому каталогу или список каталогов и фалов через запятую. Выбирайте сами, что именно нужно резервировать.
После этого можно сделать дамп MySQL базы и добавить его в этот архив, а потом, например, отправить полученный архив по почте с помощью класса PhpMailer
и удалить его чтобы не занимал место. Запускать этот процесс можно с помощью планировщика у хостинг-провайдера (у Majordomo бесплатный) или (если это WordPress) с помощью WP-Cron
.
Законченного решения я не выложил, но конструктор укомплектован — собирайте кому что нужно, все части надёжны и проверены.
Следующий эпизод — локальный компьютер. Тут стоит сразу определиться — что именно резервировать. Для больших и редко используемых файлов (фото, видео, архивы) я поставил себе под стол старенький компьютер под Ubuntu, настроил NFS и забыл о нём — приходя домой я получаю доступ к этим файлам, а в крайнем случае — можно и удалённо залезть.
А для регулярного бэкапа текущих проектов вполне подойдёт Gmail. Бесплатный почтовый ящик вмещает до 10Gb данных, а самый интересный фокус в том, что его можно подключить как обычный диск — как в Linux
, так и под Windows
. А сохранять туда нужные файлы тоже можно кроном, или его Windows-аналогом — nnCron + nnBackup
.
А заодно посмотрим, что об этом думают другие участники конкурса на лучший способ бэкапа личных данных.

Несколько дней назад я 
По ряду причин, мне не найти времени и сил на полноценную статью, а написать что-нибудь хочется. Поэтому я просто дам несколько полезных на мой взгляд ссылок на статьи моих коллег-блогеров. На всякий случай: в этих статьях описывается решение задач средствами PHP.
Долго мы ломали над этим голову… Морфология русского языка весьма сложная штука в плане алгоритмизации. Но использование в практически любом проекте морфологизатора, например, для поиска или подбора — даёт проекту неплохой бонус в удобстве использования.
Вот несколько простых функций, которые позволяют скрипту получить значения классических пузомерок (ТиЦ, PR) для страницы или сайта средствами PHP, может кому-нибудь пригодятся. Не требуют от сервера ничего сверхъестественного — PHP и возможности внешних соединений будет вполне достаточно.
11 мая в заметке «