/usr/share/doc/bacula-common/examples/reports/bacula_mail_summary.sh is in bacula-common 5.2.6+dfsg-9.1ubuntu3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #!/bin/sh
# This script is to create a summary of the job notifications from bacula
# and send it to people who care.
#
# For it to work, you need to have all Bacula job report
# loggin to file, edit path for Your needs
# This should be run after all backup jobs have finished.
# Tested with bacula-1.38.0
# Some improvements by: Andrey Yakovlev <freedom@kiev.farlep.net> (ISP Farlep)
# Contributed by Andrew J. Millar <andrew@alphajuliet.org.uk>
# Patched by Andrey A. Yakovlev <freedom@kiev.farlep.net>
# Use awk to create the report, pass to column to be
# formatted nicely, then on to mail to be sent to
# people who care.
EMAIL_LIST="freedom@kiev.farlep.net"
LOG='/var/db/bacula/log'
#---------------------------------------------------------------------
awk -F\:\ 'BEGIN {
print "Client Status Type StartTime EndTime Files Bytes"
}
/orion-dir: New file:/ {
print $3
}
/orion-dir: File:/ {
print $3
}
/Client/ {
CLIENT=$2; sub(/"/, "", CLIENT) ; sub(/".*$/, "", CLIENT)
}
/Backup Level/ {
TYPE=$2 ; sub(/,.*$/, "", TYPE)
}
/Start time/ {
STARTTIME=$2; sub(/.*-.*-.* /, "", STARTTIME)
}
/End time/ {
ENDTIME=$2; sub(/.*-.*-.* /, "", ENDTIME)
}
/Files Examined/ {
SDFILES=$2
SDBYTES=0
}
/SD Files Written/ {
SDFILES=$2
}
/SD Bytes Written/ {
SDBYTES=$2
}
/Termination/ {
TERMINATION=$2 ;
sub(/Backup/, "", TERMINATION) ;
gsub(/\*\*\*/, "", TERMINATION) ;
sub(/Verify OK/, "OK-Verify", TERMINATION) ;
sub(/y[ ]/, "y-", TERMINATION) ;
printf "%s %s %s %s %s %s %s \n", CLIENT,TERMINATION,TYPE,STARTTIME,ENDTIME,SDFILES,SDBYTES}' ${LOG} | \
column -t -x | \
mail -s "Bacula Summary for `date -v -1d +'%a, %F'`" ${EMAIL_LIST}
#
# Empty the LOG
cat ${LOG} > ${LOG}.old
cat /dev/null > ${LOG}
#
# That's all folks
|