开发rsync启动脚本2

使用函数更加规范的开发rsync启动脚本

#!/bin/bash
#chkconfig: 2345 20  80
#description: create by vincen

. /etc/init.d/functions

function usage(){
        echo $"usage:$0 {start|stop|restart}"
        exit 1
}

function start(){
        rsync --daemon
        sleep 1
        if [ `netstat -lntup|grep rsync|wc -l` -ge 1 ];then
                action "rsyncd is started." /bin/true
        else
                action "rsyncd is started." /bin/false
        fi
}

function stop(){
        killall rsync
        sleep 1
        if [ `netstat -lntup|grep rsync|wc -l` -eq 0 ];then
                action "rsyncd is stopped." /bin/true
        else
                action "rsync is started." /bin/false
        fi
}

function main(){
        if [ $# -ne 1 ];then
                usage
        fi
        if [ "$1" == "start" ];then
                start
        elif [ "$1" == "stop" ];then
                stop
        elif [ "$1" == "restart" ];then
                stop
                sleep 1
                start
        else
                usage
        fi
}
main $*

执行结果:

[root@rhel6 script]# /etc/init.d/rsyncd start
rsyncd is started.                                         [  OK  ]
[root@rhel6 script]# vim /etc/init.d/rsyncd  
[root@rhel6 script]# /etc/init.d/rsyncd start
rsyncd is started.                                         [  OK  ]
[root@rhel6 script]# /etc/init.d/rsyncd stop
rsyncd is stopped.                                         [  OK  ]  
[root@rhel6 script]# /etc/init.d/rsyncd restart
rsync: no process killed
rsyncd is stopped.                                         [  OK  ]
rsyncd is started.                                         [  OK  ]

 

posted @ 2017-03-20 16:00  Vincen_shen  阅读(742)  评论(0编辑  收藏  举报