Blame | Last modification | View Log | RSS feed
#!/bin/bash
#
# yum-cron This shell script enables the automatic use of YUM
#
# Author: Seth Vidal <skvidal@phy.duke.edu>
#
# chkconfig: - 50 01
#
# description: Enable daily run of yum, a program updater.
# processname: yum-cron
# config: /etc/yum/yum-daily.yum
#
# source function library
. /etc/rc.d/init.d/functions
test -f /etc/sysconfig/yum-cron && . /etc/sysconfig/yum-cron
lockfile=/var/lock/subsys/yum-cron
tslock=/var/lock/yum-cron.lock/ts.lock
yumcronpid=/var/lock/yum-cron.lock/pidfile
RETVAL=0
start() {
echo -n $"Enabling nightly yum update: "
touch "$lockfile" && success || failure
RETVAL=$?
echo
}
stop() {
echo -n $"Disabling nightly yum update: "
if [ -f "$yumcronpid" -a "$SERVICE_WAITS" = "yes" ]; then
yum_done=0
if [ ! -f $tslock ]; then
# No transaction yet in progress, just kill it
kill `cat $yumcronpid > /dev/null 2>&1` > /dev/null 2>&1
yum_done=1
fi
if [ $yum_done -eq 0 ]; then
echo -n $"Waiting for yum "
if [ -z "$SERVICE_WAIT_TIME" ]; then
SERVICE_WAIT_TIME=300
fi
start=`date +%s`
end=`expr $start + $SERVICE_WAIT_TIME`
while [ `date +%s` -le $end ]
do
sleep 5
if [ ! -f "$tslock" ]; then
yum_done=1
break
fi
done
if [ $yum_done -eq 1 ]; then
echo -n " ok "
else
echo -n " failed "
fi
fi
fi
rm -f "$lockfile" && success || failure
RETVAL=$?
echo
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
restart
;;
reload)
;;
condrestart)
[ -f "$lockfile" ] && restart
;;
status)
if [ -f $lockfile ]; then
echo $"Nightly yum update is enabled."
RETVAL=0
else
echo $"Nightly yum update is disabled."
RETVAL=3
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
exit 1
esac
exit $RETVAL