This repository has been archived on 2026-01-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
anacron/anacron.init
2008-10-23 13:47:16 +00:00

99 lines
2.4 KiB
Bash
Executable file

#!/bin/sh
#
# anacron Run cron jobs that were left out due to downtime.
#
# chkconfig: 2345 99 05
# description: anacron exits after it has determined it has no more work to do. \
# Hence, its initscript cannot do normal lock file management. \
# The anacron binary now creates its own /var/run/anacron.pid pid file \
# and /var/lock/subsys lock files, and removes them automatically at exit, \
# so at least there will be no more "anacron is dead but subsys locked" \
# messages.
### BEGIN INIT INFO
# Provides: $anacron
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2345
# Default-Stop: 99
# Short-Description: run left over cron jobs
# Description: anacron exits after it has determined it has no more work to do.
# Hence, its initscript cannot do normal lock file management.
# The anacron binary now creates its own /var/run/anacron.pid pid file
# and /var/lock/subsys lock files, and removes them automatically at exit,
# so at least there will be no more "anacron is dead but subsys locked"
# messages.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec=/usr/sbin/anacron
prog=anacron
#config=doesn't have config file, some values are stored in /etc/anacrontab
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon +19 anacron -s
retval=$?
echo
[ $retval -eq 0 ]
## && touch $lockfile it creates lock in code
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ]
#usually anacron clean his lock after he stops himself.
#Just in case something goes wrong kill him.
[ -f $lockfile ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
status)
rh_status
;;
condrestart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 2
esac
exit $?