Solved

need a cron job that runs every wednesday at noon

Posted on 2012-04-11
16
709 Views
Last Modified: 2012-04-17
I need a Linux cron job that runs every Wednesday at noon.
0
Comment
Question by:Christopher Schene
16 Comments
 
LVL 68

Assisted Solution

by:woolmilkporc
woolmilkporc earned 300 total points
ID: 37833969
0 12 * * 3 /path/to/command

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

wmp
0
 

Author Comment

by:Christopher Schene
ID: 37834041
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
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 37834071
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
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:Christopher Schene
ID: 37836019
I did what you suggested but my cron command  never ran. Is there something else I need to configure?
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 37836349
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
 

Author Comment

by:Christopher Schene
ID: 37837468
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
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 37837519
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
 
LVL 1

Expert Comment

by:nmitev
ID: 37843079
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
 
LVL 29

Accepted Solution

by:
MikeOM_DBA earned 200 total points
ID: 37851929
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
 

Author Comment

by:Christopher Schene
ID: 37852589
What does cron do if the machine is not running at the time the job is supposed to run?
0
 
LVL 68

Assisted Solution

by:woolmilkporc
woolmilkporc earned 300 total points
ID: 37852642
Nothing. Cron doesn't account for the past, only for the future.
0
 

Author Comment

by:Christopher Schene
ID: 37852933
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
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 37853017
Rather correct the error.

And take care not to start your script with "#!/bin/bash -e" or "#!/bin/bash -u"
0
 

Author Comment

by:Christopher Schene
ID: 37854236
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
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 37854565
No problem, go ahead!

wmp
0
 

Author Comment

by:Christopher Schene
ID: 37856039
Increase points
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Over the last ten+ years I have seen Linux configuration tools come and go. In the early days there was the tried-and-true, all-powerful linuxconf that many thought would remain the one and only Linux configuration tool until the end of times. Well,…
Background Still having to process all these year-end "csv" files received from all these sources (including Government entities), sometimes we have the need to examine the contents due to data error, etc... As a "Unix" shop, our only readily …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question