Sypex Dumper - храни наши базы MySQL

Jan 13, 12:36 am Категория:

Sypex Dumper

Я считаю, что самый распространённый инструмент для работы с базами данных MySQL - PHPMyAdmin - является ещё и самым непригодным. Чем заменить его при администрировании баз данных я расскажу в одной из следующих статей, а сейчас, продолжим осознание процесса самосохранения. Я остановился на том, что данный процесс должен быть автоматизирован и контролируем. Т.е. создание резервных копий должно производиться без непосредственного участия человека, но не бесконтрольно.

Скриптом Sypex Dumper я пользовался с версии 1.0.8 и был очень доволен: простая установка и минимальная настройка позволяли сделать за доли секунды резервную копию базы данных и упаковать её в архив. После этого загрузка базы на локальный компьютер становилась делом нажатия одной кнопки. При этом можно было настроить скрипт так, чтобы для каждого сайта, расположенного у одного провайдера, можно было делать отдельный архив из одной установки. И я даже не думал о необходимости апгредиться до 2-й версии - от добра добра не ищут. Ситуация изменилась, когда увеличилось число сайтов, на которых размещалась важная или уникальная информация. Пришло время автоматизации. В поисках решения я покопался в сети и обнаружил, что проверенный боями скрипт в версии 2.0.5  поддерживает работу из командной строки. Это значит, что можно запускать команду сохранения базы по графику с помощью утилиты cron. А далее файлы автоматически собирать со всех серверов, или отправлять от хостера по e-mail по тому же расписанию.

Сейчас у меня свет выключили и я не могу проверить всех своих провайдеров на предмет наличия возможности составления расписания (cron), но рассмотренная вчера пятёрка (.masterhost, ТаймВэб, BeGet.ru, Домишко, LavaHost) эту функцию обеспечивает. Думаю, что большинство тарифных планов у других провайдеров тоже содержит это пункт. Если же нет, то и это не страшно: всегда можно придумать решение в стиле "после публикации очередной статьи запустить процесс ___". Поставьте в нужное место правильную команду и всё заработает. Как эта команда выглядит - чуть позднее. А пока - процесс настройки и установки на Денвере - батареи ноутбука хватит ещё на час-другой.

Установка скрипта проста. Вот как она описана на сайте:

  1. Разархивировать и закачать содержимое каталога на сервер.
  2. Установить chmod 777 для каталога backup.
  3. Установить chmod 666 для файлов cfg.php и ses.php.

К этому я хочу добавить: разархивировать содержимое архива, Dumper 2.0.5 Beta  можно в любое место на сайте, которое будет "видно" по сети. Рекомендую заменить используемую по умолчанию директорию sxd на что-нибудь своё. Дело в том, что у некоторых провайдеров аккаунты для доступа к базе данных можно вычислить, а зная имя и имея доступ к интерфейсу описываемой программы... Вы ведь не используете один и тот же пароль для аккаунта в социальных сетях и к базам данных?

Для демонстрации я развернул на Денвере копию сайта SEO опыты - Textpattern и скопировал Sypex Dumper в корень, в директорию backuper.

backuper                                      Folder
css Folder
files Folder
images Folder
rpc Folder
sites Folder
textpattern Folder
.htaccess 531
css.php 574
index.php 1195
robots.txt 26

 

Первый запуск Sypex Dumper

 

Далее, если установка идёт на Unix-сервере, нужно выполнить три пункта из инструкции выше. Под Windows - нет. Теперь открываю в браузере http://ih6.dev/backuper и получаю приглашение ввести логин и пароль для доступа к базе данных. Это тот же набор, что указывался CMS при её установке. Запоминать ли введённые данные - решать вам. Здесь же можно выбрать язык - скрипт сразу включает в себя возможность работать на русском, английском и украинском языках. Если этого мало - на сайте программы можно скачать ещё несколько вариантов локализации, или предложить свой. После нажатия кнопки "Войти", программа сохранит введённые данные и готова к работе.

Готово

Можно выбрать базу данных, кодовую страницу для соединения (рекомендую ту же, что и CMS - в моём случае это utf8 ), степень компрессии, пару слов для памяти и указание, сколько дней и сколько файлов хранить. Ну и сохраняемые таблицы, разумеется - при правильной настройке CMS могут уживаться в одной базе данных и не мешать друг другу.

Таблицы базы данных

 Всё настроили? Жмём "Сохранить" и вводим название данной конфигурации - в соответствии с ней будет производиться резервирование данных.

Сохранить настройки

Имя запомните - оно пригодится для автоматизации. Теперь нажмите на кнопку "Выполнить" - запустится процесс создания резервной копии.

Создание резервной копии в ручном режиме

Полсекунды и всё. Если все предыдущие действия были произведены правильно, то появится файл с именем, состоящим из соответствующего названия базы данных и времени создания.

Создание резервной копии прошло успешно

Ну и завершающее действие этапа настройки - проверка работоспособности созданной резервной копии. Лучший способ - создать сайт-двойник и для него произвести тестовое восстановление. Мой подопытный - именно такой двойник. Поэтому я просто удалил базу данных в предыдущем экране выбрал созданный backup и нажал кнопку "Открыть" - после этого попал на страницу импорта базы данных.

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

Нажал "Выполнить" - база данных восстановилась. Кстати, если нажать кнопку "Сохранить", то будет предложено закачать архив на локальный компьютер.

Импорт базы данных занял немного больше времени - 3 секунды. Запуск сайта после восстановления показал, что всё работает нормально. Теперь я имею настроенный инструмент для загрузки на сайт-дубль копии рабочего сайта. Осталось проверить, как работает создание резервной копии из командной строки.

База данных импортирована успешно

Sypex Dumper начиная с версии 2.0.5 поддерживает работу из командной строки (консоли/крона) - помните эту фразу. Формируем команду, которая освободит нас от рутины. Для этого нужно знать путь к интерпретатору PHP и путь к папке с Sypex Dumper. В Unix системах, это может быть /usr/bin/php. Если нет - пытайте документацию, провайдера и phpinfo(). На Денвере путь - z:\usr\sbin\php5. И вторая часть команды - путь к скрипту Sypex Dumper. У меня это Z:\home\ih6.dev\www\backuper\index.php. Всё, можно настраивать cron - задать время и частоту запуска. А в качестве команды - комбинацию из пути к интерпретатору, скрипту и ключ j с указанием имени сохранённой конфигурации. У меня она выглядит вот так:

 z:\usr\sbin\php5 Z:\home\ih6.dev\www\backuper\index.php  -j=cron-backup

В результате её выполнения появился второй файл, содержащий дамп базы данных. Сравнение файлов показало их полную идентичность.

Команда создания резервной копии выполнена

 Теперь резервные копии базы данных будут создаваться регулярно, если регулярно выполнять описанную выше команду, а их число и срок годности будет отслеживаться автоматически. А я буду готовить статьи о том, как запускать резервирование без вмешательства человека и автоматически сохранять эти файлы на другом компьютере. Мы защитились от краха базы данных, но если накроется жёсткий диск сервера или весь дата-центр, то вместе с ними канут и наши резервные копии. Но не нужно бояться, что это всё сложно - я уложился с настройкой минут за 50. Если посмотреть на время создания бекапов, то видна разница в их создании - 36 минут. А ведь я ещё писал статью и делал скриншоты. То же самое будет и с копированием. До следующей статьи.

Теги этой статьи: , , , , , , , ,

 

Комментарии [9]

  1. Kost
    2886 дн. назад


    Спасибо. Только я не понял, почему копии базы будут создаваться регулярно. Можно об этом подробнее?

  2. IHHI
    2886 дн. назад


    Я имел ввиду, что при использовании cron или команда будет регулярно запускаться и будет происходить создание резервных копий.

    Получил ещё несколько вопросов про то, как пользоваться cron – готовлю статью.

  3. vlad
    2846 дн. назад


    Спасибо за статью. Но вопрос как можно организовать автоматическое скачивание или заливку на ftp

  4. ihhi
    2845 дн. назад


    Статья в черновиках. Всё никак руки не дойдут доделать. Если есть срочные вопросы, то на запрос из контактов отвечу письмом.

  5. Людмила
    2625 дн. назад


    Ну и где ваша обещанная статья про автоматическое скачивание или заливку на ftp?

  6. Илья
    2276 дн. назад


    Спасибо за полезную информацию, я сам недавно начал заниматься созданием сайтов и такая инструкция мне очень пригодится, ведь никто не застрахован от обвала базы данных. Удобно, что работает с Денвером, и что за столько короткий срок можно обезопасить свой сайт.

2017-12-11 1:07 am , Оставь комментарий