Bug#766756: Does not mail user in case of job errors

2014-10-27 Thread Alexandre Detiste
control: tags -1 fixed-upstream

Ok,

I've implemented the OnFailure= hook, both for the static  generated units.

Dwayne: we can hide this behind a configure option if you don't like it

Diff:
https://github.com/systemd-cron/systemd-cron/commit/cd01ce7d8132996d4057a5c8cf577e630a5bff09

Sample generated mails:
http://mailinator.com/inbox.jsp?to=system-cron



Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=766756


Bug#766756: Does not mail user in case of job errors

2014-10-25 Thread Yuri D'Elia
Package: systemd-cron
Version: 1.3.1+ds1-1
Severity: normal

A job such as * * * * * false would normally mail the user with the exit 
status + output of the standard error (if any).
Currently it just flags the service as failed, which is the default behavior 
for services, but not for a cron daemon.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#766756: Does not mail user in case of job errors

2014-10-25 Thread Alexandre Detiste

We could either:

*) trigger something with OnFailure=
http://lists.freedesktop.org/archives/systemd-devel/2014-October/024268.html

I find this ugly:
ExecStart=/bin/systemd-cat -t MY TIMER JOB LABEL /usr/bin/$FOO  whatever


*) Use a wrapper

Environment=MAILTO=x...@xx.com
ExecStart=/usr/lib/systemd-cron/mail_helper /usr/bin/$FOO whatever

The mail_helper would run the actual program and run mailx if needed
(either non-empty output or return code  0; 
the tastes vaires)

Then the static units would need

ExecStart=/usr/lib/systemd-cron/mail_helper /bin/run-parts /etc/cron.daily/


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#766756: Does not mail user in case of job errors

2014-10-25 Thread Yuri D'Elia
On 10/25/2014 06:37 PM, Alexandre Detiste wrote:
 
 We could either:
 
 *) trigger something with OnFailure=
 http://lists.freedesktop.org/archives/systemd-devel/2014-October/024268.html
 
 I find this ugly:
 ExecStart=/bin/systemd-cat -t MY TIMER JOB LABEL /usr/bin/$FOO  whatever

It's ugly indeed. Although using OnFailure would probably be the
systemd way.

Can't we just call journalctl  from OnFailure to get the error output?

 *) Use a wrapper
 
 Environment=MAILTO=x...@xx.com
 ExecStart=/usr/lib/systemd-cron/mail_helper /usr/bin/$FOO whatever
 
 The mail_helper would run the actual program and run mailx if needed
 (either non-empty output or return code  0; 
 the tastes vaires)
 
 Then the static units would need
 
 ExecStart=/usr/lib/systemd-cron/mail_helper /bin/run-parts /etc/cron.daily/

Having a wrapper would definitely be the easy way.

Though I would be more inclined to use an OnFailure script instead, if
we can actually manage to get the output from systemd/journalctl.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org