root@server /var/spool/cron/crontabs>>$ cat lj
* * * * * /home/lj/bin/ljmaint.pl db_batchdelete >/dev/null
* */12 * * * /home/lj/bin/ljmaint.pl clean_caches >/dev/null
30 1 * * * /home/lj/bin/ljmaint.pl genstats genstatspics >/dev/null
5 2 * * 0 /home/lj/bin/ljmaint.pl genstats_weekly > /dev/null
Yesterday I logged into the server manually as lj to check a few things and every couple minutes I had mail displayed on the terminal. I configured a mail client to access my imap daemon on the server and found 13353 messages in the inbox. This promptly crashed my mail client. However, I was able to configure and use pine to read the messages. Every message contained a complaint about one of the first three of those four cron jobs. For the first two, the complaints were "LJHOME not set." For the third it was complaining both about "LJHOME not set." and about a missing perl module. I don't care about the pictures, so I will remove the genstatpics line from the crontab, but why am I getting errors about LJHOME not being set when I explicitly set it (as you can see)?
UPDATE (11 Jul 2003 13:14:30): Running the individual tasks from the command line works perfectly. The genstatpics job doesn't even complain about missing perl modules. Could I have some sort of problem with crond?