任务要求:
判断一个网址或者ip地址是否能ping通,写shell脚本判断,并且设置定时器定时执行判断,如果ping不通就定时发送邮件到指定邮箱
解决步骤:
1. 通过shell判断是否能够ping得通
2. 定时执行shell的判断,如果ping失败,通过email功能发送警告邮件给指定邮箱。
解决原理:
1. ping状态判断:ping之后返回的$?如果为0则表示ping成功,如果为1则表示ping失败,可以通过if语句进行判断
2. email功能使用
3. 定时器crontab使用
shell脚本及说明:
#!/bin/bash
ping–c 3 www.baidu.com > /dev/null #对目标网址进行ping动作
if[ $? –eq 0 ];then #这个if语句判断这个地方要注意if和[之间的空格不能少
echo “yes” && exit 0
elseemail –s “baidu网址未ping通” email_adress@139.com </home/my/email_content.txt
fi
定时器设置及说明
myubuntu@host$crontab–e #调出定时器进行编辑
0,301 * * * /home/myscript/ping_judge.sh >>/home/crontablog/ping_judge_log.txt
#每天1点整和1点半执行一次ping监测任务,并且将执行情况输出到目标日志文件中
注意:我在用户名my下面创建的ping_judge.sh文件,crontab执行时出现permission denied,解决方法是 sudo chmod 777 ping_judge.sh