Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 2009 02:03:36 +0000
From:      Frank Shute <frank@shute.org.uk>
To:        APseudoUtopia <apseudoutopia@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Cron Not Sending Mail
Message-ID:  <20090302020336.GA18386@melon.esperance-linux.co.uk>
In-Reply-To: <27ade5280903011124v4d6d9fdq2071d5ab44a37ca9@mail.gmail.com>
References:  <27ade5280903011124v4d6d9fdq2071d5ab44a37ca9@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@youcant.tastetherainbow.ws>,
> relay=www@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 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090302020336.GA18386>