Today's Posts

The Solaris Operating System, usually known simply as Solaris, is a Unix-based operating system introduced by Sun Microsystems. The Solaris OS is now owned by Oracle.

crontab is not working.


Login to Reply

Thread Tools Search this Thread
# 1  
Old 07-24-2011
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?

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

#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

#cat sicaklik.sh 
/usr/sbin/ipmitool sdr type temperature  | grep T_AMB > /sicaklik.temp 
scp /sicaklik.temp

# 2  
Old 07-24-2011
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.

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.

/usr/sbin/ipmitool sdr type temperature  | grep T_AMB > /sicaklik.temp 
scp /sicaklik.temp

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

Last edited by agama; 07-24-2011 at 10:37 PM.. Reason: clarification
# 3  
Old 07-25-2011
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...
. /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  
Old 07-25-2011
Thanks friends for your information but I understand that below line isn't for every 3 minutes.
3 * * * * /sicaklik.sh

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

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

error messages :
"/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.

at.deny    cron.deny  FIFO       queuedefs  sicaklik
#/etc/cron.d>cat sicaklik

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


# 5  
Old 07-25-2011
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.
The Following User Says Thank You to agama For This Useful Post:
getrue (07-26-2011)
# 6  
Old 07-26-2011
Hey dud I understand main problem.
Script location,paths or something like that.
Main problem is

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.

#cat sicaklik.done 
while true
     sleep 180      // every 3 minutes.

For startup when machine is rebooted.

#cd /etc/rc3.d/
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:


# 7  
Old 07-27-2011
hm, I have a feeling cron is better idea..
Login to Reply

« Previous Thread | Next Thread »
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Crontab is not working BPANDEY Red Hat 5 09-17-2015 11:55 AM
Crontab not working Junaid Subhani Shell Programming and Scripting 7 06-06-2015 04:02 PM
Script not working via crontab ash1234 Shell Programming and Scripting 1 02-09-2015 06:32 AM
Script not working via crontab ash12345 Shell Programming and Scripting 6 02-08-2015 01:34 PM
Crontab not working krebe Linux 4 02-12-2013 05:50 AM
Script not working in crontab nandan8a Shell Programming and Scripting 9 08-08-2012 09:22 PM
Crontab not working, please help samantha13 UNIX for Advanced & Expert Users 0 08-02-2012 01:25 PM
crontab not working isaacniu Solaris 6 01-09-2012 06:41 PM
crontab is not working!! getrue Red Hat 14 09-08-2011 12:06 PM
crontab not working shifahim UNIX for Dummies Questions & Answers 8 08-16-2011 09:22 AM
crontab not working lg123 UNIX for Dummies Questions & Answers 2 04-24-2011 04:47 PM
Crontab entry is not working jramesh1 UNIX for Dummies Questions & Answers 1 07-27-2010 05:07 AM
crontab not working rajesh_hv UNIX for Advanced & Expert Users 4 10-28-2008 08:45 AM
crontab NOT working baanprog UNIX for Advanced & Expert Users 2 09-26-2006 01:11 PM
crontab not working right kymberm UNIX for Dummies Questions & Answers 3 07-09-2003 05:21 PM

All times are GMT -4. The time now is 11:41 AM.

Unix & Linux Forums Content Copyright 1993-2018. All Rights Reserved.
Show Password