linux常用脚本样例-自定义启停应用脚本-创新互联
shell脚本书写样例学习
以下脚本样例包含知识点:
本文标题:linux常用脚本样例-自定义启停应用脚本-创新互联
文章出自:http://myzitong.com/article/icpse.html
- 函数封装
- 模仿系统自带启停脚本 ,引入日志美化
- if else多条件判断;test判断和中括号判断表达式
- usage 使用说明
- c语言风格的main函数入口
- 反引号 ``执行shell命令
- netstat ,grep , wc 命令管道符方式判断应用是否启停
文件路径/etc/init.d/my_rsync.sh
脚本作用:管理应用的启停
#!/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