Самое важное в политике резервного копирования это, да конечно сами правила (конфигурационные файлы настройки) что нужно резервировать, как долго хранить, обязательно план восстановления, но и не стоит забывать задокументировать шаги разворачивания из бекапа. А еще бекап без возможности протоколирования его создания, завершения — это не бекап. Что я хочу сказать — нужно настроить получения уведомления о начале запуска задания, его работы и конечно же окончания. Этим я сейчас и займусь ориентируясь на рассмотренную ранее утилиту 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.