Bacula. Информативные отчеты.
На первых порах, когда Bacula вводится в эксплуатацию, полезно будет иметь более содержательное уведомление, нежели то, что состоит из стандартных макросов (%c %d %e %h %i %j %l %n %r %s %t %v %r и т.д.).
Было бы полезно в сообщение включить информацию о выполненной задаче, которая может быть получена при выполнении консольной команды "messages".
1. Добавляем в JobDefs комманду, которая будет выполнятся после каждого задания:
JobDefs {
...
RunAfterJob = "/usr/local/share/bacula/savemessage.sh"
}
Сам скрипт /usr/local/share/bacula/savemessage.sh выглядит так:
#!/bin/sh echo messages | /usr/local/sbin/bconsole > /var/db/bacula/msg.txt
После выполнения каждого задания, наш скрипт будет запускать консоль бакулы, отправлять команду "messages", и сохранять консольный вывод в файл /var/db/bacula/msg.txt. Теперь этот файл необходимо прикрепить к сообщению. В моем случае для отправки используется "sendEmail". Секция "Messages" будет выглядеть примерно так
Messages {
...
mailcommand = "sendEmail -f reports@mail.ru -m \"
Client name : %c
Director name : %d
Job Exit code : %e
Job Id : %i
Unique Job name : %j
Job level : %l
Job name : %n
Job type : %t \" -u \"[srv-bacula-01] %n - %e\" -t %r -s smtp.mail.ru -xu reports@mail.ru -xp password -a \"/var/db/bacula/msg.txt\""
...
}