For the same reasons that dozens of other threads have asked about...
The environment used by cron (and passed to programs it runs), is not you login shell's environment.
You either need to have your script set up the correct environment or you need to use absolute paths to all of the files your script uses (executables, input files, and output files).
Obviously, if you don't show us your script, we can't help you fix it!
This User Gave Thanks to Don Cragun For This Post:
It basically is monitoring a certain log file for a certain type of error. If there is a new error, it sends an email to email addresses specified in email.users .
Just want to add here on Scott's comment, Cron has an own reserved syslog facility, so you should have a look into /etc/syslog.conf (or the equivalent file in your distro) to see where messages of facility cron are sent. Also you can check /var/spool/mail/user_name too for same. Let us know is this helps.
EDIT: Also while checking your script I found out that line if diff $TMP $TMP_FILE >/dev/null
I think what you are trying to do here to, not to display the differance in standard output, this command will redirect output to /dev/null so each time condition will be FALSE and if I am right here then you can use following then.
Here is an example which I have tested for same.
Input files:
Now check this following command out.
Output will be as follows.
Also why can't you go for a variable named email_users="x@chumma.com y@chumma.comz@chumma.com.
Could you please try same and let us know if that helps.
Thanks,
R. Singh
Last edited by RavinderSingh13; 06-06-2015 at 04:29 AM..
Reason: Added more clarification and found a little bug in user's script
Ravinder, the diff is okay; the redirection of stdout does not clear the exit status.
In fact your correction is faulty:
2&>1 should be 2>&1 (redirect stderr to descriptor 1, and should be appended to also go to /dev/null), but is not needed for diff AFAIK.
--
Actually I don't see anything wrong in the script. Note that email.users is expected in the cron user's home directory.
These 2 Users Gave Thanks to MadeInGermany For This Post:
There doesn't appear to be anything wrong with the script. As Don said (post#2), nearly all these things are because the interactive login and cron environments are different; perhaps the variables set in .profile, or the path searched. These things need to be deliberately set at the start of the script to match those in effect when the script is run interactively.
Dear Friends,
I have Red Hat Linux Enterprise version 6.3. running SAP and oracle.
I have created one crontab for user orasid to execute one job periodically.
But it is not executing. I have checked crontab service is running.
Please help in the matter.
Regards,
Bhagawati Pandey (5 Replies)
Hi,
I know this is a common topic. I'm trying to launch a perl script using a contab -e entry. I've been trying diff options but nothing seems to work:
My cron is running:
UID PID PPID C STIME TTY TIME CMD
root 3755 1 0 Nov27 ? 00:00:00 crond
This... (4 Replies)
Hi,
When I set the crontab to run every minute, every hour, it works fine.
* * * * * env > /tmp/env.output
However I want to run it every day at 8:00 AM and it does not run.
* 8 * * * env > /tmp/env.output
I ran the 'date' command which says it's 8AM PST and also the 'TZ'... (0 Replies)
Shell = ksh
Hi all,
I scheduled an automated job on my application server like below,
30 13 * * 1-5 $HOME/my_script.sh
However the script was not executed as expected. Any reason that may cause this to happen? (6 Replies)
I can run manually script of ntopdump.sh but crontab can't run this script very five minutes.
# crontab -l
*/3 * * * * root sh /root/ping.sh
*/5 * * * * root sh /root/ntopdump.sh
#
# pwd
/root
# ls -l
total 88
-rwxrwxr-x 1 root root 1645 Jun 14 19:01 anaconda-ks.cfg
drwxrwxr-x 2 root... (14 Replies)
Hi,
I had setup crontab to execute my script every day midnight 00:00
Below are the current settings.
crontab -l
0 0 * * * /apps/bin/compress.ksh_moht > /dev/null 2>&1
Should it not work?
I need help fix this? (8 Replies)
I have a script which name is sicaklik.sh
It is in the root directory.
I can run manually but I want to run automatically every 3 minutes but it is not working. WHY?
#whoami
root
#crontab -l
#ident "@(#)root 1.21 04/03/23 SMI"
3 * * * * sh ./sicaklik.sh
#ls -l sicaklik*... (6 Replies)
Dear all
We have SunOS 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-V250
i have scheduled cronjob but its not working
Crontab details
15 15 * * * /d5/oratest/testdb/hotbackup_new.sh TEST247
15 15 * * * mkdir -p rajesh /d4/appltest
Crontab log details
> CMD: mkdir... (4 Replies)
Hi,
I have put the following entry in crontab and it is NOT working
1 * * * * && /mybin/myjob.sh
As today is Sep 26th, Iam using NF-4 to test.
Thanks (2 Replies)
I am having problems with a sparc5 solaris 7 box, when i try to edit cron, (crontab -e as root), it says
$ crontab -e
0
and then nothing, if i enter anything it errors out but does accept q for quit. But doesn't bring up my editor of the cron file. How can I troubleshoot this?
... (3 Replies)