通过case语句启动rsync服务的案例演变

#!/bin/bash
. /etc/init.d/functions
case $1 in
  start)
    rsync   --daemon
    a=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
    if  [[ $a -eq "873" ]]; 
        then
            action "/etc/init.d/rsyncd start"   /bin/true
        else
            action "/etc/init.d/rsyncd start"   /bin/false
    fi
;;
  stop)
    pkill rsync
    sleep 1 
    b=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
    if  [[ $b -eq "873" ]];
        then
            action "/etc/init.d/rsyncd stop"       /bin/false
         else
                        action "/etc/init.d/rsyncd stop"       /bin/true
        fi
;;
  *)
    echo    "age: /etc/init.d/network {start|stop|status|restart|reload|force-reload}"
;;


esac

将脚本放入/etc/init.d中给定执行权限即可用做系统脚本
将脚本放入/bin下可做命令使用

通过函数来实现上述脚本:

#!/bin/bash
. /etc/init.d/functions
start(){
    a=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
    if [[ $a -eq 0 ]]
    then
        rsync   --daemon
        b=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
        if  [[ $b -eq "873" ]]; 
            then
                action "/etc/init.d/rsyncd start"   /bin/true
            else
                action "/etc/init.d/rsyncd start"   /bin/false
        fi
    else
        echo "Rsync is runing"
    fi
}
stop(){
    a=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
    if [[ $a -ne 0 ]] 
    then
        pkill rsync
        sleep 1 
        b=`ss -antlp|grep 873|sed -n 1p |awk -F "[ :]+" '{print $5}'`
        if  [[ $b -eq "873" ]];
            then
                action "/etc/init.d/rsyncd stop"       /bin/false
             else
                            action "/etc/init.d/rsyncd stop"       /bin/true
        fi
    else
        echo "Rsync is stoped"
    fi
}
restart(){
    stop
    start
}

case $1 in
  start)
    start
    REVIVE=$?
;;
  stop)
    stop
    REVIVE=$?
;;
  restart)
    stop
    start
;;
  *)
    echo    "age: /etc/init.d/network {start|stop|restart}"
;;
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值