Cron Question
Derek Ragona
derek at computinginnovations.com
Wed Sep 3 10:37:56 UTC 2008
At 10:45 AM 9/2/2008, ElihuJ wrote:
>Hi all. I have a question about cron jobs that seem to be running to long or
>with multiple copies of itself. For example, I have a backup script that I
>run that seems to make multiple copies of itself. If I view the running
>processes I see numerous instances of the same cron job. Is there something
>I can do to limit this from happening? When it does, it drains my CPU and
>some of my other processes are non responsive. Any help would be
>appreciated. Thank you.
>--
>View this message in context:
>http://www.nabble.com/Cron-Question-tp19272656p19272656.html
>Sent from the freebsd-questions mailing list archive at Nabble.com.
For longer running jobs I do a couple things. I use a file to be sure only
one instance is running, but I also add signal handling. The following is
written for ksh, but can be adapted to sh if needed:
=============================================================
#!/usr/local/bin/ksh
# uncomment the following line for debugging
#set -x
RUNNING_FILE=RUNNING_FILE=/tmp/my_cronjob_running
LOGFILE=LOGFILE=/tmp/my_cronjob.log
SENDTO=me at mydomain.com
MAIL=/usr/bin/mail
TOUCH=/usr/bin/touch
RM=/bin/rm
# Print an epilog string and clear the RUNNING_FILE
function epilog {
echo "We are all done scanning." >> $LOGFILE
$MAIL -s "MyCronjob Report" $SENDTO < $LOGFILE
if [ -f $RUNNING_FILE ]; then
$RM $RUNNING_FILE;
fi
}
function got_signal {
echo "Got a signal" >> $LOGFILE
epilog
exit
}
# Here pointers to signal handling subroutines are set
trap got_signal TERM HUP INT QUIT
if [ -f $RUNNING_FILE ]; then
echo "mycronjob is already running"
else
$TOUCH $RUNNING_FILE
$RM $LOGFILE
$TOUCH $LOGFILE
# add your job to be done here . . .
#
epilog
fi
=============================================================
>_______________________________________________
>freebsd-questions at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>--
>This message has been scanned for viruses and
>dangerous content by MailScanner, and is
>believed to be clean.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the freebsd-questions
mailing list