Rsync daemon模式下的啓動腳本

1.1 rsync部署情況

01:利用rsync 的daemon模式搭建的備份服務器

02:Pid文件的路徑: pid file = /var/run/rsyncd.pid

03:rsync守護進程的啓動方式爲:rsync --daemon

1.2 腳本內容

#!/bin/bash
#
# Define variables
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
RETVAL=0
Port=873
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 local functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions

# Define functions
start(){
    if [ ! -f "$Pid" ];then
      /usr/bin/rsync --daemon
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Start Rsync service[$Port]" /bin/true
       else
        action "Start Rsync service[$Port]" /bin/false
      fi
     else
      echo "Rsync service[$Port] is running"
     fi
     return $RETVAL
}

stop(){
   if [ -f "$Pid" ];then
     kill -USR2 $(cat $Pid)
     rm -f $Pid
     RETVAL=$?
     if [ $RETVAL -eq 0 ];then
       action "Start Rsync service[$Port]" /bin/true
      else
       action "Start Rsync service[$Port]" /bin/false
     fi
      else
       echo "Rsync Service[$Port] is not running"
    fi
    return $RETVAL
}

status(){
    if [ -f "$Pid" ];then
      echo "Rsync service[$Port] is running"
     else
      echo "Rsync service[$Port] is nog running"
    fi
    return $RETVAL
}

# Case callf functions
case "$1" in
  start)
     start
     RETVAL=$?
     ;;
  stop)
    stop
    RETVAL=$?
    ;;
  restart)
     stop
     start
     RETVAL=$?
     ;;
  status)
    status
    RETVAL=$?
      ;;
  *)
    echo "USAGE:$0 {start|stop|restart|status}"
    exit 1
esac

# Scripts return values
exit $RETVAL

1.3 執行腳本

[root@backup ~]# /etc/init.d/rsyncd
USAGE:/etc/init.d/rsyncd {start|stop|restart|status}

[root@backup ~]# /etc/init.d/rsyncd status
Rsync service[873] is running

[root@backup ~]# /etc/init.d/rsyncd stop
Start Rsync service[873]                              [  OK  ]


[root@backup ~]# /etc/init.d/rsyncd start
Start Rsync service[873]                              [  OK  ]


[root@backup ~]# /etc/init.d/rsyncd restart
Start Rsync service[873]                              [  OK  ]
Start Rsync service[873]                              [  OK  ]


[root@backup ~]# netstat -lntup|grep rsync
tcp    0   0  0.0.0.0:873    0.0.0.0:*    LISTEN      2396/rsync         
tcp    0   0  :::873         :::*         LISTEN      2396/rsync

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章