Cron Not Sending Mail
Frank Shute
frank at shute.org.uk
Sun Mar 1 18:03:48 PST 2009
On Sun, Mar 01, 2009 at 02:24:47PM -0500, APseudoUtopia wrote:
>
> Cron is not sending output as emails. I noticed this when I stopped
> seeing the output of a backup script in my daily email. I thought
> there was a problem with the backup script - but no, it's cron not
> sending the emails.
>
> I had this problem before on 6.1, which I never found a solution to. I
> gave up on it, and eventually I upgraded to 7.1. After the upgrade,
> cron worked perfectly. However, I just noticed that it stopped working
> again. I have no idea what changed (It's a production server, I
> haven't been playing with config files).
>
> User www's mail is redirected to root, which is redirected to a @gmail
> account via /etc/aliases.
> This is on 7.1-RELEASE-p3 running a custom kernel.
>
> Any solution to this problem would be fantastic. I use the emails from
> cron on a daily basis, and it really messes me up to have it not
> working.
>
> #####
> # User www's crontab
> # Note, I also tried removing the MAILTO to no avail
> #####
> MAILTO=root
> # m h dom mon dow cmd
> * * * * * echo "Hello"
>
>
> ####
> # /var/log/cron
> ####
> Mar 1 19:22:00 youcant /usr/sbin/cron[22627]: (operator) CMD
> (/usr/libexec/save-entropy)
> Mar 1 19:22:00 youcant cron[22627]: NSSWITCH(nss_method_lookup): nis,
> group_compat, setgrent, not found
> Mar 1 19:22:00 youcant cron[22627]: NSSWITCH(nss_method_lookup): nis,
> group_compat, endgrent, not found
> Mar 1 19:22:00 youcant cron[22627]: NSSWITCH(nss_method_lookup): nis,
> passwd_compat, endpwent, not found
> Mar 1 19:22:00 youcant /usr/sbin/cron[22628]: (www) CMD (echo "Hello")
> Mar 1 19:22:00 youcant cron[22628]: NSSWITCH(nss_method_lookup): nis,
> group_compat, setgrent, not found
> Mar 1 19:22:00 youcant cron[22628]: NSSWITCH(nss_method_lookup): nis,
> group_compat, endgrent, not found
> Mar 1 19:22:00 youcant cron[22628]: NSSWITCH(nss_method_lookup): nis,
> passwd_compat, endpwent, not found
> Mar 1 19:22:00 youcant cron[22630]: NSSWITCH(nss_method_lookup): nis,
> group_compat, setgrent, not found
> Mar 1 19:22:00 youcant cron[22630]: NSSWITCH(nss_method_lookup): nis,
> group_compat, endgrent, not found
> Mar 1 19:22:00 youcant cron[22630]: NSSWITCH(nss_method_lookup): nis,
> passwd_compat, endpwent, not found
>
>
>
> ####
> # /var/log/maillog
> ####
> Mar 1 19:22:00 youcant sendmail[22630]: n21JM0Gl022630: from=www,
> size=0, class=0, nrcpts=0,
> msgid=<200903011922.n21JM0Gl022630 at youcant.tastetherainbow.ws>,
> relay=www at localhost
It looks like you're using user: www for your crontab.
Unfortunately, from /etc/passwd:
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
i.e user www can't do much without a shell.
Create a crontab as a user with a shell, MAILTO to your gmail account.
The user may want to be a member of a group with privileges. Or use
sudo.
Don't forget to add him to /var/cron/allow as per manpage for
crontab(1).
You could set SHELL in your crontab for www (might work) but I'd use a
different user who's a member of group operator maybe.
Hope that helps.
Regards,
--
Frank
Contact info: http://www.shute.org.uk/misc/contact.html
More information about the freebsd-questions
mailing list