#! /bin/sh
# rsynctools init file for rsyncd
# Copyright (C) 2002-4 Zhang Hui<zhangh@oec-h.com>
# $Id$
# For RedHat and cousins:
# chkconfig: – 99 01
# description: Self Monitoring and Reporting RSYNC Daemon
# processname: rsync
### BEGIN INIT INFO
# Provides: rsync
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start:
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Self Monitoring and Reporting Technology (SMART) Daemon
# Description: The smartd daemon monitors SMART status of the local hard drives and
# provides advanced warnings of of disk degradation or failures.
### END INIT INFO
# Uncomment the line below to pass options to smartd on startup.
rsyncd_opts=”–daemon –config=/etc/rsyncd.conf”
RSYNCD_BIN=/usr/bin/rsync
# Source function library
. /etc/rc.d/init.d/functions
RETVAL=0
prog=rsyncd
pidfile=/var/lock/subsys/rsyncd
lockfile=/var/run/rsyncd.lock
logfile=/var/log/rsyncd.log
config=/etc/rsyncd.conf
start()
{
if [ -e $lockfile ]; then //如果锁文件存在,就提示rsyncd正在运行
echo -n $”$prog is running…”
echo
return $RETVAL
else //如果不存在就正常启动rsyncd
[ $UID -eq 0 ] || exit 4
[ -x $RSYNC_BIN ] || exit 5
[ -f $config ] || exit 6
echo -n $”Starting $prog: “
daemon $RSYNCD_BIN $rsyncd_opts
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $pidfile && touch $lockfile
return $RETVAL
fi
}
stop()
{
[ $UID -eq 0 ] || exit 4
echo -n $”Shutting down $prog: “
killproc $RSYNCD_BIN
RETVAL=$?
echo
rm -f $pidfile //删除pid文件
rm -f $lockfile //删除lock文件
return $RETVAL
}
reload()
{
echo -n $”Reloading $prog daemon configuration: “
killproc $RSYNCD_BIN -HUP
RETVAL=$?
echo
return $RETVAL
}
case “$1” in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $”Usage: $0 {start|stop|restart|status|reload}”
RETVAL=2
[ “$1” = ‘usage’ ] && RETVAL=0
esac
exit $RETVAL
保存完退出
chmod +x /etc/init.d/rsyncd
chkconfig –add rsyncd //>将 rsyncd>加入服务列表
chkconifg rsyncd on //>将 rsyncd>服务设置为随重启自动运行