linux常用脚本样例-自定义启停应用脚本-创新互联

shell脚本书写样例学习 以下脚本样例包含知识点:
  1. 函数封装
  2. 模仿系统自带启停脚本 ,引入日志美化
  3. if else多条件判断;test判断和中括号判断表达式
  4. usage 使用说明
  5. c语言风格的main函数入口
  6. 反引号 ``执行shell命令
  7. netstat ,grep , wc 命令管道符方式判断应用是否启停

文件路径/etc/init.d/my_rsync.sh
脚本作用:管理应用的启停

10余年建站经验, 成都网站设计、网站制作客户的见证与正确选择。创新互联建站提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
#!/bin/bash

# 结果的美化日志
###############
lsb_functions="/lib/lsb/init-functions"
if test -f $lsb_functions ; then
  . $lsb_functions
else
  # Include non-LSB RedHat init functions to make systemctl redirect work
  init_functions="/etc/init.d/functions"
  if test -f $init_functions ; then
    . $init_functions
  fi
  log_success_msg()
  {  echo " SUCCESS!  $@"
  }
  log_failure_msg()
  {  echo " ERROR! $@"
  }
fi  
####################

# 开发rsync脚本
function usage(){echo "Usage: $0 {start|stop|restart}"
    exit 1
}


# 开发start功能
function start(){/usr/bin/rsync --daemon
    sleep 1
    if [ `netstat -tunlp|grep rsync|wc -l` -ge "1" ]
      then
        log_success_msg "rsyncd is started!"
    else
        log_failure_msg "rsync isn't started!"
    fi    
}

function stop(){killall rsync &>/dev/null
    sleep
    if [ `netstat -tunlp|grep rsync|wc -l` -eq 0 ]
      then
        log_success_msg "rsyncd is stopped!"
    else 
      log_failure_msg "rsyncd isn't stopped!"
    fi
}

function restart(){echo ""
}

# 开发c语言风格的脚本,更专业,更美观,更容易维护
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 $*
运行示例

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:linux常用脚本样例-自定义启停应用脚本-创新互联
文章出自:http://myzitong.com/article/icpse.html