View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000865||bareos-core||director||public||2017-10-17 13:36||2023-09-27 10:37|
|Status||closed||Resolution||no change required|
|Platform||Linux Ubuntu||OS||Server x64||OS Version||16.04 latest|
|Summary||0000865: mailcommand not working with big job and too many files (timeout?) sendmail script works with short jobs|
|Description||A full backup job contains a couple of thousand files. I want to have a list of all files (to know if all directories are fine, verify some important files in some directories, ... ) sent to me by email after job completion.|
This works if the number of files is relatively low, but stops working with a couple of thousand files.
There is nothing in /var/log/syslog, or /var/log/bareos.log (beside the successful job).
/var/log/bareos-audit.log shows the bconsole queries of the sendmail script (same queries as successful sent emails):
13-Oct 08:37 bareos-dir: Console [default] from [127.0.0.1] cmdline list joblog jobid=73 << job for which I don't receive email
13-Oct 08:37 bareos-dir: Console [default] from [127.0.0.1] cmdline list files jobid=73 << job for which I don't receive email
13-Oct 08:38 bareos-dir: Console [default] from [127.0.0.1] cmdline list joblog jobid=74 << job for which I receive email
13-Oct 08:38 bareos-dir: Console [default] from [127.0.0.1] cmdline list files jobid=74 << job for which I receive email
/var/log/mail does NOT show that the email is sent for the job in question (while it shows sent emails of other jobs, which I also receive in my mailbox)
Strangely enough, if I start a different small job (because testing receiving emails with a job taking 2 days is not so efficient), with the jobid of the big job manually added to the sendmail script, it works.
So it seems not to be the sendmail script, but rather a problem with a job which takes very long + a long list of files to be added to an email.
BTW: it works neither with sendemail nor with ssmtp (my mailserver needs smtp authentification)
Please find my configuration in the additional information
|Steps To Reproduce||1) have the list of files added to your email (e.g. as attachment) after job completion|
2) start a job with a lot of files to backup
3) the email is not sent (no entry in /var/log/mail.log)
Name = Standard
Description = "Reasonable message delivery -- send most everything to email address and to the console."
operatorcommand = "/usr/local/bin/bareos-messages.sh \"[Operator] %d: %j Messages (jobid %i)\" %i \"%r\""
mailcommand = "/usr/local/bin/bareos-messages.sh \"[SERVICE %e] %d: %t %n %l on %c (jobid %i)\" %i \"%r\""
operator = it@XXXXX = mount # (0000003)
mail = it@XXXXXX = all, !skipped, !saved, !audit # (0000002)
console = all, !skipped, !saved, !audit
append = "/var/log/bareos/bareos.log" = all, !skipped, !saved, !audit
catalog = all, !skipped, !saved, !audit
#if Operator or Daemon message
if [[ $SUBJECT == *"[Operator]"* || $SUBJECT == *"[Daemon]"* ]]; then
`echo messages | bconsole`
#send operator or daemon email
echo "$BODY" | mail -s "$SUBJECT" "$RECIPIENTS"
else #Service start
`echo list joblog jobid=$JOBID | bconsole`
FILES=`echo list files jobid=$JOBID | bconsole`
FILESNO=`echo "$FILES" | wc -l`
if (( "$FILESNO" > 2000 )); then #start create attachment
echo "$FILES" | gzip > $ATTACHMENT_PATH$ATTACHMENT_FILE
#send email with attachment
(echo "$BODY"; uuencode $ATTACHMENT_PATH$ATTACHMENT_FILE $ATTACHMENT_FILE) | mail -s "$SUBJECT" "$RECIPIENTS"
rm `echo $ATTACHMENT_PATH$ATTACHMENT_FILE`
else # start add files to body
*Files backed up*
#send email without attachment
echo "$BODY" | mail -s "$SUBJECT" "$RECIPIENTS"
fi #end create attachment
fi #end Service
|Tags||No tags attached.|
Similar problem for me, I'm using zabbix.sh script for zabbix monitoring
Name = Standard
Mail Command = "/etc/bareos/zabbix/zabbix.sh %i %t %e %c %l"
Mail = email@example.com = all, !skipped
The code fragment below, verify job status code
sql="/usr/bin/mysql --defaults-file=$bareosDbPass -h$bareosDbAddr -P$bareosDbPort -u$bareosDbUser -D$bareosDbName -NB -e"
bareosJobStatus=$($sql "select JobStatus from Job where JobId=$bareosJobId;" 2>/dev/null)
if [ -z $bareosJobStatus ] ; then exit 13 ; fi
case $bareosJobStatus in
"T") status=0 ;; (success)
"W") status=1 ;; (warning)
*) status=2 ;; (any other status)
Bareos director and script are using the same remote mysql database
Name = MyCatalog
Reconnect = yes
dbdriver = mysql
dbname = bareos
dbaddress = 10.1.1.1
dbport = 3306
dbuser = bareos
dbpassword = "bareos"
All works perfectly for version 16, but after upgrade bareos to version 17RC, I've got a lot of zabbix alerts about failed backup jobs. The failed jobs has random order (aka race conditional)
After investigation, I've found that jobs have status "T" (success) and zabbix alerts are false positive, also zabbix.sh script got status "R" (running) for the same backup jobs.
1) Run some lightweight backup job, job is is 1111 for example, bareos director and mysql database have no load
2) Job finished successfully with status OK, message appears in bconsole.
3) job with ID 1111 still has status "R" (running) in mysql database.
4) zabbix.sh script got status "R" for job id 1111 and exit with code 2 (failed)
5) After some time (1-2 seconds), job id 1111 changed status to "T" (success) in mysql database.
First of all to be sure, is this still the case with recent code like Bareos 22.1.0?
It look like your mailer in limiting in somewhat the number of line the message can contain.
bsmtp has also a -l parameter to help limiting the number of line.
Maybe if you need to check something, will it be more convenient to do the check on the bareos host (a runscript after with list file jobid=id output and only send the result.
thanks for following up, this was still the case for v21, we haven't upgraded yet to the latest version. I will post here again when we did the upgrade to see if we still experience the same problem.
as bsmtp has a parameter to setup the limit, there's nothing we can change here.
you can still use a post job script to send the joblog as attachment instead relying on simple tool as bsmtp.
|2017-10-17 13:36||chaos_prevails||New Issue|
|2017-11-16 12:46||Shodan||Note Added: 0002816|
|2023-07-27 15:16||bruno-at-bareos||Assigned To||=> bruno-at-bareos|
|2023-07-27 15:16||bruno-at-bareos||Status||new => feedback|
|2023-07-27 15:16||bruno-at-bareos||Note Added: 0005255|
|2023-08-01 13:44||chaos_prevails||Note Added: 0005295|
|2023-08-01 13:44||chaos_prevails||Status||feedback => assigned|
|2023-09-27 10:37||bruno-at-bareos||Status||assigned => closed|
|2023-09-27 10:37||bruno-at-bareos||Resolution||open => no change required|
|2023-09-27 10:37||bruno-at-bareos||Note Added: 0005449|