Re: crontab jobs not running?
On Tue, Mar 16, 2004 at 06:37:48PM +0100, Martin Dickopp wrote:
> - Could it be that you have accidentally embedded an invisible control
> character in the file?
I just checked by doing a ":set list" from within 'vi', and everything
> - Is there a newline character after the last line?
> - While you test `crontab -e', don't specify the next minute as time,
> but one minute after the next (i.e. two minutes after the current
> time). `cron' re-reads its crontabs once a minute, but only executes
> newly found jobs in the /next/ minute.
> BTW, does `crontab -e' work for users other than root?
I just did this by su'ing as user "jortega" and running 'crontab -e' to
enter the following lines:
35 20 * * * /bin/echo "testing" > /tmp/testing
35 20 * * * /bin/date > /tmp/time
This correctly created the file under "/var/spool/cron/crontabs", and it
also appears to have the correct ownership and permissions.
# ls -l /var/spool/cron/crontabs/
-rw------- 1 root jortega 278 Mar 17 20:31 jortega
-rw------- 1 root root 243 Mar 15 18:55 root
Yet, it failed to run at the specified time. However, I found something
quite interesting in the "/var/log/syslog" file:
Mar 17 20:40:23 milan crontab: (jortega) REPLACE (jortega)
Mar 17 20:40:23 milan crontab: (jortega) END EDIT (jortega)
Mar 18 02:41:01 milan /usr/sbin/cron: (jortega) RELOAD (crontabs/jortega)
I'm not sure I understand this. So, I make a change to the crontab via
'crontab -e', and when I finish editing the file and save it, the logs
display two entries from a 'crontab' process (PID 17372) replacing and
editing the file, which makes sense. But what is going on with that other
entry with *tomorrow's* timestamp and a very wacky time? Where is the
'/usr/sbin/cron' command getting that system time from? Just in case,
sending the killhup signal to the process didn't seem to help either.