86eb520
#!/bin/bash
cvsextras dd98616
#
86eb520
# ddclient Client to update dynamic DNS host entries
cvsextras dd98616
#
86eb520
# chkconfig: - 65 35
86eb520
# description: ddclient is a Perl client used to update dynamic DNS \
86eb520
#              entries for accounts on many dynamic DNS services.
86eb520
# processname: /usr/sbin/ddclient
86eb520
# config: /etc/ddclient.conf
86eb520
# pidfile: /var/run/ddclient/ddclient.pid
86eb520
86eb520
### BEGIN INIT INFO
86eb520
# Provides: ddclient
86eb520
# Required-Start: $local_fs $network $syslog
86eb520
# Required-Stop: $local_fs $network $syslog
86eb520
# Should-Start: $named
86eb520
# Should-Stop: $named
86eb520
# Short-Description: Client to update dynamic DNS host entries
86eb520
# Description: ddclient is a Perl client used to update dynamic DNS
86eb520
#              entries for accounts on many dynamic DNS services.
86eb520
### END INIT INFO
cvsextras dd98616
cvsextras dd98616
# Source function library.
cvsextras dd98616
. /etc/rc.d/init.d/functions
cvsextras dd98616
86eb520
if [ -f /etc/sysconfig/ddclient ]; then
86eb520
	. /etc/sysconfig/ddclient
86eb520
fi
cvsextras dd98616
86eb520
exec=/usr/sbin/ddclient
86eb520
prog=`basename $exec`
cvsextras dd98616
lockfile=/var/lock/subsys/$prog
50154aa
cache=/var/cache/ddclient/ddclient.cache
50154aa
pid=/var/run/ddclient/ddclient.pid
86eb520
RETVAL=0
cvsextras dd98616
cvsextras dd98616
start() {
86eb520
	# Check that networking is up.
86eb520
	[ ! -f /var/lock/subsys/network -a ! -f /var/lock/subsys/NetworkManager ] && exit 0
cvsextras dd98616
86eb520
	echo -n $"Starting $prog: "
86eb520
	[ -f $cache ] || touch $cache
86eb520
	chown ddclient:ddclient $cache && chmod 600 $cache || exit $?
86eb520
	daemon --user=ddclient --pidfile=$pid $exec $DDCLIENT_OPTIONS
86eb520
	RETVAL=$?
86eb520
	echo
86eb520
	[ $RETVAL -eq 0 ] && touch $lockfile
cvsextras dd98616
86eb520
	return $RETVAL
cvsextras dd98616
}
cvsextras dd98616
86eb520
stop() {
86eb520
	echo -n $"Stopping $prog: "
86eb520
	killproc -p $pid $prog
86eb520
	RETVAL=$?
86eb520
	echo
86eb520
	[ $RETVAL -eq 0 ] && rm -f $lockfile
86eb520
86eb520
	return $RETVAL
cvsextras dd98616
}
cvsextras dd98616
86eb520
restart() {
86eb520
	stop
86eb520
	start
cvsextras dd98616
}
cvsextras dd98616
cvsextras dd98616
# See how we were called.
cvsextras dd98616
case "$1" in
86eb520
    start)
86eb520
	start
86eb520
	;;
86eb520
    stop)
86eb520
	stop
86eb520
	;;
cvsextras dd98616
    status)
86eb520
	status -p $pid $prog
86eb520
	;;
86eb520
    restart|force-reload|reload)
86eb520
	restart
86eb520
	;;
86eb520
    condrestart|try-restart)
86eb520
	if [ -f $lockfile ]; then
86eb520
	    restart
86eb520
	fi
86eb520
	;;
cvsextras dd98616
    *)
86eb520
	echo $"Usage: $0 {start|stop|status|reload|restart|condrestart|force-reload|try-restart}"
86eb520
	RETVAL=1
86eb520
	;;
cvsextras dd98616
esac
86eb520
86eb520
exit $RETVAL