Делаем бэкап MySQL

   Бэкапы — очень ценная вещь. Жаль, что осознание этого приходит слишком поздно. Файлы можно бэкапить раз в неделю — там редко что-то меняется, да и исходники почти всегда есть на рабочем компьютере. Другое дело базы — некоторые их бэкапят аж 4 раза в день, каждые 6 часов. Для постоянно меняющихся проектов этом мб и норм, но для мелкого сервера — черезчур. На мой взгляд, оптимальным промежутком является один раз в день.

   Бэкапы MySQL у меня делаются каждый день, создается папка с именем этого дня: Monday, Tuesday и т.п., в папке лежат архивы с текущей базой. Почему так? Во-первых, удобно восстанавливать. Если вирус поразил базу, легче откатить до вчерашнего состояния, чем ковырять сегодняшнюю. Во-вторых, удобно брать архивы с сайтами. Когда база одна целиковая и весит 300 Мб, хрен в ней найдешь конкретный сайт. Будет долго распаковываться, потом искать.

   Сами резервные копии создаются на сервере, затем загружаются на бэкап-сервер: туда я складываю бэкапы со всех серверов. Раз в неделю с бэкап-сервера я скачиваю архивы на локальный компьютер. По объему получается около 50 Гб в неделю, под резервные копии выделен целый жесткий диск, это недорого на самом деле.

   Ну, а теперь, собственно, код создания бэкапов. Прошу не пинать, писал нуб =)


 


 

Для  MySQL лучше создать дополнительного юзера — мало ли что. Код можно адаптировать под себя: например, вместо 7 бэкапов сделать каждый день на протяжении месяца. Можно сразу на фтп закачивать, но, имхо, опасно. Может быть обрыв сети, недокачка, а так на сервере останется копия.

Код работает на CentOs 6.

Одно мнение на “Делаем бэкап MySQL

Комментировать

Ваш e-mail не будет опубликован. Обязательные поля помечены *