Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2010 22:13:28 +0100
From:      Rolf Nielsen <listreader@lazlarlyricon.com>
To:        Jeronimo Calvo <jeronimocalvop@googlemail.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Crontab not working logwatch.pl [FreeBSD 8 stable]
Message-ID:  <4B4E3778.1080609@lazlarlyricon.com>
In-Reply-To: <beaf3aa51001131304w619e56c6y3745c1816752f64c@mail.gmail.com>
References:  <beaf3aa51001131243u44e86685g1abc4bb367dad93e@mail.gmail.com>	 <4B4E329D.4090806@lazlarlyricon.com> <beaf3aa51001131304w619e56c6y3745c1816752f64c@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2010-01-13 22:04, Jeronimo Calvo wrote:
> did a crontab -r, a a new crontab -e, using:
>
> * * * * * $HOME/.profile ; /bin/bash /var/log/auto_auth.sh
> * * * * * $HOME/.profile ; /usr/bin/perl /local/sbin/logwatch.pl
>
> tailing the /var/log/cron I can see that is being executed every
> minute... but no emails arrived with is the proof that the script has
> worked.
>
>
>
> 2010/1/13 Rolf Nielsen<listreader@lazlarlyricon.com>:
>> On 2010-01-13 21:43, Jeronimo Calvo wrote:
>>>
>>> Hi folks,
>>>
>>> Im having probs when a root crontab located on /var/cron/tabs/root
>>>
>>> with this content
>>> # DO NOT EDIT THIS FILE - edit the master and reinstall.
>>> # (/tmp/crontab.DUtgfVoBT0 installed on Wed Jan 13 20:08:29 2010)
>>> # (Cron version -- $FreeBSD: src/usr.sbin/cron/crontab/crontab.c,v
>>> 1.31.2.1 2009/08/03 08:13:06 kensmith Exp $)
>>> * * * * * ~/.profile ; /bin/bash /var/log/auto_auth.sh
>>> * * * * * ~/.profile ; /usr/bin/perl /local/sbin/logwatch.pl
>>>
>>> both of them are sending logs to my email, when runned from the
>>> command line works, but not from crontab
>>> any ideas?
>>>
>>
>> The keywords here are
>> # DO NOT EDIT THIS FILE - edit the master and reinstall.
>>
>> Either edit the system crontab, /etc/crontab, or, to edit root's crontab,
>> run crontab -e as root.
>>
>
>
>

Please don't top post.

Firstly, don't rely on environment variables being set correctly when 
running from cron. If you really want to use root's crontab, substitute 
/root for $HOME.
Secondly, bash should be in /usr/local/bin, not in /bin. And it's a 
third party shell not included by the system. It has to be installed 
from ports. You should use /bin/sh instead.
Thirdly, instead of putting the interpreter path on the command line, 
put it on the first line of your scripts, i.e.
#!/bin/sh in the first one
and
#!/usr/bin/perl in the second one.



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