crontab is not working.


Login or Register to Reply

 
Thread Tools Search this Thread
# 1  
crontab is not working.

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?
Code:
#whoami
root

Code:
#crontab -l
#ident  "@(#)root       1.21    04/03/23 SMI"
3 * * * *  sh ./sicaklik.sh

Code:
#ls -l sicaklik*
-rwxrwxrwx   1 root     root         135 Jul 25 01:45 sicaklik.sh
-rwxrwxrwx   1 root     root           0 Jul 25 02:08 sicaklik.temp
SETRA{root}/>

Code:
#cat sicaklik.sh 
/usr/sbin/ipmitool sdr type temperature  | grep T_AMB > /sicaklik.temp 
scp /sicaklik.temp 192.168.40.184:/usr/local/nagios/temp.temp

# 2  
I would do a few things:

1) redirect stdout and stderr of the script some place
2) supply the full path of the script. ./scriptname is bad form. Makes the assumption that cron sets the working directory to the directory that the script resides in. May or may not be the case, but don't risk it.
3) Add a !# line to the script and remove sh from the command line in the crontab.


Code:
3 * * * *  /home/root/bin/sicaklik.sh >/tmp/sicaklik.log 2>&1

This is a guess as to the path of the script but should illustrate what I mean.

Code:
#!/bin/sh 
/usr/sbin/ipmitool sdr type temperature  | grep T_AMB > /sicaklik.temp 
scp /sicaklik.temp 192.168.40.184:/usr/local/nagios/temp.temp

Adding the #! will cause the script to be run with sh.

Last edited by agama; 07-24-2011 at 09:37 PM.. Reason: clarification
# 3  
Dude, I faced the same problem few days back while executing a script..It ran perfectly fine from the command line but crontab wasn't able to execute it..
However when I inserted my environment variables into the script it ran from crontab..This may work out for you as well..Try it out..Just specify your environment into the script and it will work fine...

U can also try including ur ".profile" into the script with the addition of command inside ur script so that it can take all the environment variables defined for ur profile...
Code:
. /root/.bash_profile

However if this doesn't work out you will have to set your environment manually inside the script to make it executable from cron...
# 4  
Thanks friends for your information but I understand that below line isn't for every 3 minutes.
Code:
3 * * * * /sicaklik.sh

If the O.S had linux below line can work fine but this is Solaris.
Code:
*/3 * * * * /sicaklik.sh

So, I must do like below but I have given error messages.
Code:
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60 * * * *  /sicaklik.sh

error messages :
Code:
"/tmp/crontabiGaaqa" 16 lines, 561 characters 
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60 * * * * /sicaklik.sh
crontab: error on previous line; number out of bounds.
crontab: errors detected in input, no crontab file generated.
#

How can I run every 3 minutes this script. Why do I give above error messages.

I have tried alternative method but it was fail.

Code:
pwd
/etc/cron.d
#/etc/cron.d>ls
at.deny    cron.deny  FIFO       queuedefs  sicaklik
#/etc/cron.d>cat sicaklik
MAILTO=name.sordum@cevapla.com.tr

3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60 * * * * /sicaklik.sh

#/etc/cron.d>

# 5  
I completely missed that your first example would run only on the third minute after the hour!!

The error is coming from the 60. Use 0,3,6... and drop the 60. Also, unless your script resides at the root level, which is an odd place to have it, /sicaklik.sh won't be found.
This User Gave Thanks to agama For This Post:
# 6  
Hey dud I understand main problem.
Script location,paths or something like that.
Main problem is
Code:
60

Smilie

Code:
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /sicaklik.sh

Thanks for your advise.

Yesterday I resolved this issue with different solution.

Code:
#cat sicaklik.done 
while true
 do
     /sicaklik.sh
     sleep 180      // every 3 minutes.
 done
#

For startup when machine is rebooted.

Code:
#cd /etc/rc3.d/
#/etc/rc3.d>ls
README          S16boot.server  S50apache       S52imq          S80mipagent     S84appserv      S93sicaklik.sh
#etc/rc3.d>cat S93sicaklik.sh 
/bin/bash $HOME/sicaklik.done > $HOME/var/log/sicaklik.log 2>&1 & :b:

#etc/rc3.d>

Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Crontab is not working
BPANDEY
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... Red Hat
5
Red Hat
Crontab not working
Junaid Subhani
Hi All, I have a script with deatils as : $ ls -ld catch_logs.sh -rwx--x--x 1 muser muser 752 Jun 5 22:36 catch_logs.sh User crontab looks likes: $ crontab -l SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin * * * * * /opt/scripts/catch_logs.sh Now if I run this script...... Shell Programming and Scripting
7
Shell Programming and Scripting
Crontab not working
krebe
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...... Linux
4
Linux
crontab not working
isaacniu
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?... Solaris
6
Solaris
crontab not working
shifahim
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?... UNIX for Dummies Questions & Answers
8
UNIX for Dummies Questions & Answers