Резервирование и бэкап — зачем и как.
комментария 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 и удалить его чтобы не занимал место. Запускать этот процесс можно с помощью планировщика у хостинг-провайдера или (если это WordPress) с помощью WP-Cron.
Законченного решения я не выложил, но конструктор укомплектован — собирайте кому что нужно, все части надёжны и проверены.
Следующий эпизод — локальный компьютер. Тут стоит сразу определиться — что именно резервировать. Для больших и редко используемых файлов (фото, видео, архивы) я поставил себе под стол старенький компьютер под Ubuntu, настроил NFS и забыл о нём — приходя домой я получаю доступ к этим файлам, а в крайнем случае — можно и удалённо залезть.
А для регулярного бэкапа текущих проектов вполне подойдёт Gmail. Бесплатный почтовый ящик вмещает до 10Gb данных, а самый интересный фокус в том, что его можно подключить как обычный диск — как в Linux, так и под Windows. А сохранять туда нужные файлы тоже можно кроном, или его Windows-аналогом — nnCron + nnBackup.

Новый сервис Google уже вовсю тестируется знатоками Python. Именно этот язык стал первым, под программы на котором Google бесплатно выделяет место и ресурсы на своих серверах для разработчиков. То что до сих пор использовалось внутри Google теперь доступно разработчикам — GFS, Bigtable, параллелизация, авторизация по аккаунту Google, мощный API. 500 Mb дискового пространства и 10 Gb трафика ежемесячно будет предоставляться бесплатно.
Google таит много забавных и интересных секретов. Знаете ли вы, что:
Вот несколько простых функций, которые позволяют скрипту получить значения классических пузомерок (ТиЦ, PR) для страницы или сайта средствами PHP, может кому-нибудь пригодятся. Не требуют от сервера ничего сверхъестественного — PHP и возможности внешних соединений будет вполне достаточно.
Поздравляю всех влюблённых с праздником — отличный повод сделать какую-нибудь приятную вещь какому-нибудь близкому человеку. Не забудьте купить цветы и конфеты! За окном прямо в глаз светит яркое солнце, а FeedBurner сегодня показал ровную цифру — 800 читателей.
В пятницу выдача поисковой системы «Яндекс» резко изменилась — потрясение более чем на 20% заметили практически все. При чём то, что релевантность выдачи ухудшилась, было видно невооруженным глазом, что сразу создало теорию о том, что происходящее — просто глюк, проблемы с базой данных яндекса. Но сегодня Ден Расковалов (руководитель отдела качества поиска в Яндексе) опроверг эту теорию, заявив:

