背景
监控远程的一台机器的存活状态,当发现宕机时发一封邮件给你自己
需求
通过ping命令确定服务器是否在线
#!/bin/bashn=`ping -c5 114.115.206.63 | grep 'packet' | awk -F'%' '{print $1}' | awk '{print $NF}'`#ping ip 只显示带有packet的行 以%分割 打印出第1列 显示最后一列的丢包率m=1182350036@qq.comif [ -z "$n" ]#如果$n没有被赋值thenecho "脚本有问题!"python3 mail.py $m "检测机器存活脚本$0有问题,获取变量值为空!" #发邮件给管理员exitelsen1=`echo $n|sed 's/[0-9]//g'` #将字符替换,这里替换完为空才是正常的if [ -n "$n1" ] #如果 n1 不是空,还有字符 则python3 mail.py $m "检测机器存活脚本$0有问题,获取变量的值不是纯数字"exitfifiwhile :doif [ $n -ge 50 ]thenpython mail.py $m "机器宕机,丢包率是$n%"fisleep 30done
