MySQL Backup mailto, Создание бекапов с автоматической отправкой на почту. |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
![]() |
MySQL Backup mailto, Создание бекапов с автоматической отправкой на почту. |
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Статья только косвенно относится к hlds, но думаю пригодится многим.
Да слово "Статья" тут наверно не уместно, скорее небольшой скрипт и описание как пользоваться =). Итак, поехали. Задача: есть MySQL база данных, нужно сделать так, чтобы по расписанию раз в сутки делался backup и отправлялся на почту, дабы сохранить данные при потере сервера(был подобный случай, поэтому пришлось думать на эту тему). Реализация: тут все просто, для отправки письма будем использовать mutt, для постановки задания по расписанию обычный crontab, ну и дамп мы будем делать с помощью mysqldump. Как видите, ничего страшного, все стандартное. Для начала обновимся: Код apt-get update apt-get upgrade Далее поставим mutt, если его нет: Код apt-get install mutt Далее создадим файл mysql_dump_2email.sh, у меня он находится в /home/backups/. Запишем в него следующее: Код: #! /bin/sh Даем права на исполнение: Код chmod -x mysql_dump_2email.sh Теперь, если все настроили, пробуем: Код ./mysql_dump_2email.sh Проверяем есть ли на почте дамп, если есть, зашиваем это дело в crontab: Код crontab -e Туда дописываем: Код ###MySQL Backups### 0 5 * * * '/home/backups/mysql_dump_2email.sh' > /dev/null 2>&1 ###End MySQL Backups### Теперь ежедневно в 5 утра, по времени сервера, будет формироваться бекап базы и отправляться вам на почту без каких-либо манипуляций. Все гениальное просто, никаких лишних приблуд и т.д. В дальнейшем планирую дописать скрипт, чтобы по мимо отправки на почту, он заливался на удаленную БД, резервную, так сказать, и если что-то случается с этим VDS, можно было бы просто переключить на резервную БД. Credits:
P.S.: проверял на Gmail, Yandex и Mail[dot]ru:
Версионностью не пахнет, тут просто буду дописывать то, что добавлял Cangelog o0:
P.S.: Админы, кто там был против обновления?! Я опять вам форум поломал =))) (9-11 строки в теге PAWN не то содержат совсем) Вот строка: MAIL_TO="test@example.ru,test1@example.ru, test2@example.ru" #Адреса, куда будем высылать дампы А все CDATA удалить бы.
Отредактировал: oxoTHuk., - 25.1.2015, 17:57
Прикрепленные файлы:
|
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
1) Накой upgrade?
2) chmod +x забыл. ![]() |
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Да, chmod забыл =)
а upgrade привычка, перед тем, как что-то ставить, всегда делаю апгрегйд\апдейт |
![]() |
|
![]() |
![]()
Сообщение
|
![]() |
Я бы просто на какое-нибудь облако клал. Типо Яндекс.Диска. Там webdav насколько я помню.
|
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
upd: добавил chmod
The_Razer, по мойму проще напочту все слать, а еще если будет паралельно восстанавливать на резервный сервер, вообще красота будет
Отредактировал: oxoTHuk., - 18.1.2015, 17:43
|
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Решил не откладывать в долгий ящик и сделать восстановление на удаленный хост, но тут же столкнулся с проблемой
Код: root@burikovs:/tmp# mysql -P 3306 -h HOST -u USERNAME -p PASS Причем как видно из ошибки, он даже не пытается уйти с локалхоста (82.146.45.56 - ip тачки, с которой выполняется запрос). На удаленке, куда пытаюсь совершить коннект, доступ открыл. |
|
|
![]() |
![]()
Сообщение
|
![]() |
Решил не откладывать в долгий ящик и сделать восстановление на удаленный хост, но тут же столкнулся с проблемой Код: root@burikovs:/tmp# mysql -P 3306 -h HOST -u USERNAME -p PASS Причем как видно из ошибки, он даже не пытается уйти с локалхоста (82.146.45.56 - ip тачки, с которой выполняется запрос). На удаленке, куда пытаюсь совершить коннект, доступ открыл. |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Не, мне нужно с VDS подключить мускуль на другую удаленную машину.
А ты мне предлагаешь восстановить утерянный рут пароль =) |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Решил не откладывать в долгий ящик и сделать восстановление на удаленный хост, но тут же столкнулся с проблемой Код: root@burikovs:/tmp# mysql -P 3306 -h HOST -u USERNAME -p PASS Причем как видно из ошибки, он даже не пытается уйти с локалхоста (82.146.45.56 - ip тачки, с которой выполняется запрос). На удаленке, куда пытаюсь совершить коннект, доступ открыл. what? Оно очень даже уходит с тачки и стучится на сервер, другое дело, что сервер не дает доступ, мотивируя это тем, что для хоста 82.146.45.56 доступ закрыт. У mysql юзера под которым ломишься, host должен быть % -- что означает любой. ![]() |
![]() |
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Да, тупанул, но как-бы любой не обязательно, главное чтобы на удаленке был доступ для хоста 82.146.45.56.
А он есть, но не пускает всеравно |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Да, тупанул, но как-бы любой не обязательно, главное чтобы на удаленке был доступ для хоста 82.146.45.56. А он есть, но не пускает всеравно Данные в лс, гляну. ![]() |
|
|
![]() |
![]()
Сообщение
|
![]() ![]() ![]() |
Fire, прошу прощения, затупил, забыл что менял пароль на той БД =)
2all заапдейтил скрипт, описание добавлю в первый пост. |
|
|
![]() ![]() |