Уведомление о статусе бекапа mysql

Posted by

Самое важное в политике резервного копирования это, да конечно сами правила (конфигурационные файлы настройки) что нужно резервировать, как долго хранить, обязательно план восстановления, но и не стоит забывать задокументировать шаги разворачивания из бекапа. А еще бекап без возможности протоколирования его создания, завершения — это не бекап. Что я хочу сказать — нужно настроить получения уведомления о начале запуска задания, его работы и конечно же окончания. Этим я сейчас и займусь ориентируясь на рассмотренную ранее утилиту automysqlbackup — почитавши прилагаемую инструкцию и всю информацию которую мне удалось найти выработал для себя следующие действия, как осуществить задуманное. Итак у меня система с которой я подключаюсь посредством конфигурационных файлов через скрипт к различным сервисам, к примеру: GLPI, ZoneMinder, CACTI.

Мне нужно дополнить конфигурационный файл настроек подключения к сервису параметрами взаимодействия с почтой, делается это так:

ekzorchik@srv-serv:~$ sudo nano /etc/automysqlbackup/srv-zoneminder.conf

# Notification setup

# What would you like to be mailed to you? Что включать в уведомление

# — log : send only log file

# — files : send log file and sql files as attachments (see docs) вот это мне нужно

# — stdout : will simply output the log to the screen if run manually.

# — quiet : Only send logs if an error occurs to the MAILADDR.

CONFIG_mailcontent=’files’

# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])

# см. настройки своего почтового сервера на правило квоту на максимальный размер отправки письма с вложением или просто письма. В моем случае это 5МБ — это когда тестировал со своим сервером.

CONFIG_mail_maxattsize=5120

# Allow packing of files with tar and splitting it in pieces of CONFIG_mail_maxattsize.

#CONFIG_mail_splitandtar=’yes’

# Use uuencode instead of mutt. WARNING: Not all email clients work well with uuencoded attachments.

#CONFIG_mail_use_uuencoded_attachments=’no’

# Email Address to send mail to? (user@domain.com)

CONFIG_mail_address=’root’

Не забываем сохранить внесенные изменения в конфигурационном файле.

После устанавливаю в систему MTA агент SSMTP на взаимодействие с почтовым сервером, настраиваю конфигурационный файл ssmtp.conf внося данные на подключение к почтовому серверу (у меня почта для домена от Yandex) от имени какой учетной записи сервер будет проводить уведомление при запуске скрипта automysqlbackup на счет статуса отработки подключения к удаленной системе и статуса работы резервного копирования.

ekzorchik@srv-serv:~$ sudo apt-get install ssmtp -y

ekzorchik@srv-serv:~$ sudo nano /etc/ssmtp/ssmtp.conf

mailhub = smtp.yandex.ru:465

AuthUser=ekzorchik@ekzorchik.ru

AuthPass=<password>

rewriteDomain=ekzorchik.ru

UseTLS=YES

FromLineOvveride=YES

Root=postmaster

ekzorchik@srv-serv:~$ sudo nano /etc/ssmtp/revaliases

root:ekzorchik@ekzorchik.ru:smtp.yandex.ru:465

ekzorchik:ekzorchik@ekzorchik.ru:smtp.yandex.ru:465

Устанавливаю пакет mailutils для проверки, что могу из консоли отправлять/подключаться к почтовому серверу настройки которого указаны выше:

ekzorchik@srv-serv:~$ sudo apt-get install mailutils -y

Проверяю тестовым сообщение:

ekzorchik@srv-serv:~$ echo «» | ssmtp -v -s Hello ekzorchik@ekzorchik.ru

[<-] 220 smtp3o.mail.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)

[->] EHLO srv-serv

[<-] 250 ENHANCEDSTATUSCODES

[->] AUTH LOGIN

[<-] 334 VXNlcm5hbWU6

[->] ZWt6b3JjaGlrQGVrem9yY2hpay5ydQ==

[<-] 334 UGFzc3dvcmQ6

[<-] 235 2.7.0 Authentication successful.

[->] MAIL FROM:<ekzorchik@ekzorchik.ru>

[<-] 250 2.1.0 <ekzorchik@ekzorchik.ru> ok

[->] RCPT TO:<Hello@ekzorchik.ru>

[<-] 250 2.1.5 <Hello@ekzorchik.ru> recipient ok

[->] RCPT TO:<ekzorchik@ekzorchik.ru>

[<-] 250 2.1.5 <ekzorchik@ekzorchik.ru> recipient ok

[->] DATA

[<-] 354 Enter mail, end with «.» on a line by itself

[->] Received: by srv-serv (sSMTP sendmail emulation); Sat, 26 Sep 2015 11:40:44 +0300

[->] From: «ekzorchik» <ekzorchik@ekzorchik.ru>

[->] Date: Sat, 26 Sep 2015 11:40:44 +0300

[->]

[->]

[->] .

[<-] 250 2.0.0 Ok: queued on smtp3o.mail.yandex.net as 1443256847-n3LBBfvLEJ-eloG3BCW

[->] QUIT

[<-] 221 2.0.0 Closing connection.

Идет. Выяснил что если у меня на системе стоит прослойка cntlm то отправка тестового сообщения не идет — нужно разобраться почему, это будет как-нибудь потом.

Теперь запускаю скрипт созданный в предыдущей заметки по объединению конфигурационных файлов нацеленный на подключение к удаленным серверам с целью осуществления резервного копирования mysql баз данных и на почту приходит отчет который выводится в консоль и вкладывает созданные бекапы если их размер не превышает заданных настроек:

ekzorchik@srv-serv:~$ sudo sh /etc/script/bd

Отчет о резервном копировании баз данных

 

А вот и вложения письма:

А вот и вложения письма

 

Работает, но вот такое не получится если бекапы со временем вырастут, т. е. Выйдут за рамки оговоренных настроек отправки письма вложением. Но это ничего страшного я просто хотел посмотреть что получится если задействовать параметр files. Теперь у меня есть уже хоть какое то средство уведомления по почте и проверяя отчеты я могу убедиться в правильности отработки задания. На этом заметка завершена. С уважением автор блога — ekzorchik.

Leave a Reply

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

шесть + девять =