分享7个shell脚本实例 脚本案例


概述看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本 。下面分享几个shell脚本实例 。
1、监测Nginx访问日志502情况,并做相应动作假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务 。
#场景:#1.访问日志文件的路径:/data/log/access.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为300条,出现502的比例不低于10%(30条)则需要重启php-fpm服务#3.重启命令为:/etc/init.d/php-fpm restart#!/bin/bash############################################################监测Nginx访问日志502情况,并做相应动作###########################################################log=/data/log/access.logN=30 #设定阈值while :do #查看访问日志的最新300条,并统计502的次数err=`tail -n 300 $log |grep -c '502" '` if [ $err -ge $N ] then /etc/init.d/php-fpm restart 2> /dev/null #设定60s延迟防止脚本bug导致无限重启php-fpm服务 sleep 60 fi sleep 10done

分享7个shell脚本实例 脚本案例



2、把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母1)准备测试文件,文件名为2.txt
第1行1234567不包含字母第2行56789BBBBBB第3行67890CCCCCCCC第4行78asdfDDDDDDDDD第5行123456EEEEEEEE第6行1234567ASDF第7行56789ASDF第8行67890ASDF第9行78asdfADSF第10行123456AAAA第11行67890ASDF第12行78asdfADSF第13行123456AAAA
2)脚本如下:
#!/bin/bash###############################################################把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母##############################################################sed -n '1,5'p 2.txt |sed '/[a-zA-Z]/'dsed -n '6,10'p 2.txt |sed s'/[a-zA-Z]//'gsed -n '11,

    推荐阅读