Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 742
  • Last Modified:

need a cron job that runs every wednesday at noon

I need a Linux cron job that runs every Wednesday at noon.
0
Christopher Schene
Asked:
Christopher Schene
3 Solutions
 
woolmilkporcCommented:
0 12 * * 3 /path/to/command

Add it to your crontab by means of "crontab -e"

wmp
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
I tried it and got this error message:

[root@localhost Carefx]# 0 12 * * 3 /opt/Carefx/crontabtest.sh
bash: 0: command not found
[root@localhost Carefx]# crontab -e
no crontab for root - using an empty one
crontab: no changes made to crontab

[root@localhost Carefx]# 0 12 * * 3 /opt/Carefx/crontabtest.sh <---- this is what I was trying to add
0
 
woolmilkporcCommented:
1) Type crontab -e  to open an editor (probably vi) for the crontab.

2) Type i to go to input mode

3) Type the line I gave you

4) Hit the ESC key, then type :wq!

5) Done
0
Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
I did what you suggested but my cron command  never ran. Is there something else I need to configure?
0
 
woolmilkporcCommented:
Check your entry with

crontab -l

All corrrect?

Did you receive any emails from cron?

Does the script run successfully from the command line?

There is also a cron log, but its location is OS dependent. Which is your OS ("uname -a")?
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
Here is the output


uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux


 crontab -l
0 17 * * 3 /opt/Carefx/crontabtest.sh
0 12 * * 3 /opt/Carefx/crontabtest.sh

no email, yes the script runs correctly from the command line

I looked for a cron.log...but did not find one


[root@localhost ~]# find / -name 'cron*.log' -print
[root@localhost ~]# find / -name 'cron.log' -print
[root@localhost ~]#

The crond service is running:


[root@localhost init.d]# ./crond
Usage: ./crond {start|stop|status|reload|restart|condrestart}
[root@localhost init.d]# ./crond status
crond (pid  3864) is running...
[root@localhost init.d]#
0
 
woolmilkporcCommented:
What is the script supposed to do? Are you really sure that it didn't run?

Please be aware that under cron the user's environment is not fully initialized (no initialization scripts like .profile etc. are run).

PATH is just /bin and /usr/bin and there are only a few variables set, like $HOME.

So if your script relies on the usual environment you must initialize it explicitly, and you'll have to call all executables which reside outside of /bin or /usr/bin by their full path.

And yes, finding the location of the cron log is always a problem under Linux.
Please search just for *cron*, without any suffix:

find / -name "*cron*"
0
 
nmitevCommented:
Probably a permissions issue, if cron is not running as root.

Try modifying the command to
0 12 * * 3  root  /opt/Carefx/crontabtest.sh

Open in new window

0
 
MikeOM_DBACommented:
Or, add a trace file to figure out if the script generate an error:
0 12 * * 3 /opt/Carefx/crontabtest.sh >/opt/Carefx/crontabtest.trc 2>&1

Open in new window

:p
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
What does cron do if the machine is not running at the time the job is supposed to run?
0
 
woolmilkporcCommented:
Nothing. Cron doesn't account for the past, only for the future.
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
Ok, I think I have idea as to what is happening: It seems that one of my commands errors out  and when that happens, it seems that the cron job aborts...is there a way I can tell it to continue even if there are errors?
0
 
woolmilkporcCommented:
Rather correct the error.

And take care not to start your script with "#!/bin/bash -e" or "#!/bin/bash -u"
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
Thanks experts.....If you don't mind i would like to divide up the points since I was helped by more than one comment.
0
 
woolmilkporcCommented:
No problem, go ahead!

wmp
0
 
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
Increase points
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now