#!/bin/bash . /etc/init.d/functions pidfile="/var/run/rsyncd.pid" start_rsync="rsync --daemon --config=/etc/rsyncd.conf" status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') function usage() { echo $"usage:$0 {start|stop|restart}" exit 1 } function start() { sleep 1 if [ "${status1}X" == "X" ];then rm -rf $pidfile ${start_rsync} status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') if [ "${status2}X" != "X" ];then action "rsyncd is started." /bin/true else action "rsyncd is started." /bin/false fi fi } function stop { killall rsync &> /dev/null rm -rf $pidfile sleep 1 if [ `netstat -anlpe |grep rysnc |wc -l ` -eq 0 ];then action "rsyncd is stoped." /bin/true else action "rsyncd is stoped." /bin/false fi } function status() { if [ "${status1}X" == "X" ];then action "sync is not rununing" else action "syncd is running" fi } function main() { if [ $# -ne 1 ];then usage $0 fi case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo echo "Usage: $0 start|stop|restart|status" echo ;; esac } main $*