说明:
A:rsync服务的PID文件路径为:/var/run/rsyncd.pid B:rsync服务的启动命令为:rsync --daemon C:rsync服务的停止命令为:kill -USR2 `cat /var/run/rsyncd.pid` && rm -f /var/run/rsyncd.pid
启动脚本
#!/bin/bash # # # Define variables RETVAL=0 Pid=/var/run/rsyncd.pid # Determine the user to execute if [ $UID -ne $RETVAL ];then echo "Must be root to run scripts" exit 1 fi # Load the local functions library [ -f /etc/init.d/functions ] && source /etc/init.d/functions # Define functions start(){ if [ ! -f "$Pid" ];then rsync --daemon RETVAL=$? if [ $RETVAL -eq 0 ];then action "Start rsync service" /bin/true else action "Start rsync service" /bin/false fi else echo "Rsync is running" exit 1 fi return $RETVAL } stop(){ if [ -f "$Pid" ];then kill -USR2 $(cat $Pid) find /var/run -maxdepth 1 -type f -name "rsyncd.pid"|xargs rm -f RETVAL=$? if [ $RETVAL -eq 0 ];then action "Stop rsync service" /bin/true else action "Stop rsync service" /bin/false fi else echo "Rsync is not running" exit 1 fi return $RETVAL } status(){ if [ -f "$Pid" ];then echo "Rsync is running" else echo "Rsync is not running" fi return $RETVAL } # Case call functions case "$1" in start) start RETVAL=$? ;; stop) stop RETVAL=$? ;; restart) stop sleep 2 start RETVAL=$? ;; status) status RETVAL=$? ;; *) echo "USAGE:$0 {start|stop|restart|status}" exit 1 esac # Scripts return values exit $RETVAL