Solved

Is there any way to insert an event in the crontab, and to cut off that row after that event is fired?

Posted on 2008-10-09
5
316 Views
Last Modified: 2013-12-26
Good morning!

Often, when I have the need to launch a Unix Korn Shell script (which has a duration of about 15 hours), of course I call it from crontab, for example in the crontab file I add the following row:
30 18 * * * $HOME/system/startscript/aggregate.ksh

The risk is that I forget to remove that row after the 18:30 (hour in which the script aggregate.ksh is launched), so that after 24 hours the script will be executed again!

Is there any way to make that row disappear after that the event is fired?
0
Comment
Question by:CRISTIANO_CORRADI
5 Comments
 
LVL 45

Accepted Solution

by:
sunnycoder earned 168 total points
ID: 22676946
Hello CRISTIANO_CORRADI,

you can either add a check in your script to make sure that rerun is intended - e.g. each run creates a file and successive run checks for presence of the file. If file is present, next execution is aborted. For next sucessful cron run you need to remove the file manually.

Other alternative is to remove the cron job after execution

crontab -l | sed '/aggregate.ksh/d' > cron.new
crontab cron.new

you can add the above script as cron job after aggregate.ksh has executed or call it from aggregate.ksh itself

Regards,

sunnycoder
0
 

Assisted Solution

by:vrbiyani
vrbiyani earned 166 total points
ID: 22676977
Crontab itself does not offer a utility to remove the job after it is done. A couple of alternatives (Which again you may be aware of):

1) Specify the date and month also in the job, so that it will be executed only once and not again the next day. Just specifying the time is probably not a very good way to run the job
2) In the script which you are running, add a line to rename/move itself to other location. So that the job running next day does not find it
0
 
LVL 40

Assisted Solution

by:omarfarid
omarfarid earned 166 total points
ID: 22676986
Simple, do it using at command. Please see

man at

http://www.rt.com/man/at.1.html
0
 

Author Comment

by:CRISTIANO_CORRADI
ID: 22677068
All your solutions are very interesting.  Thanks to all, I'll split the points.
0
 

Author Closing Comment

by:CRISTIANO_CORRADI
ID: 31504594
Thank you very much for your interesting suggestions! ;-)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
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 …
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

863 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now