Бэкап баз удаленного MySQL сервера из windows.
Решил завести новую рубрику и тэги для коллекционирования своих и чужих скриптов. Заодно будет полезно услышать мнения, советы и критику других людей. Я не считаю себя «великим» скриптописателям, но начальный опыт есть и надо развиваться дальше в этом направлении….
Писать можно много на чем. Популярный перл, новомодный повершелл, старый добрый скриптинг из коммандой строки виндоус (бат файлы) или баш-скриптинг. В данном случае я написал простейший скрипт в виде BAT файла.
Суть поставленной задачи звучала так: организовать бэкап удаленной базы данных MySQL (установленной на линухе). Бэкапить надо было на виндовой тачке и там же хранить бэкапы. Хранить надо было три последних копии.
Пришлось немного погуглить и потом я приступил к написанию первого скрипта.
- Для выполнения дампа я использовал утилиту идущую в комплекте с MySQL сервером, но я не устанавливал сам сервер, апросто скопировал mysqldump.exe c другого (виндового) сервера. Синтаксис комманды аналогичен таковому в линуксе, и учитывая кучу инфы в сети по этому поводу, приводить его тут не стану.
- После выполнения дампа баз данных, я проводил сжатие дампа и ротацию файлов. Ротацию делал так: после создания дампа я удалял старый файл, средний файл переименовывал в старый, а новый файл переименовывал в средний. Далее сжимал дамп, давая ему имя нового файла. Для осуществления сжатия, в папку скрипта скопировал rar.exe (из папки с установленным WinRAR). Хелп у этой консольной версии довольно подробный и понятный.
- По завершению ротации файлов отправляется почтовое уведомление. Для этого юзал утилиту mailsend.exe (бесплатный OpenSource), которая позволяет отплавлять почту используя SMTP сервер не требующий авторизации. Для расширения информации о ходе бэкапов я аттачил к каждому письму список текущих архивов, полученный коммандой dir. Далее »

