设计一个脚本,监控远程的一台机器(假设ip为123.23.11.21)的存活状态,当发现宕机时发一封邮件给你自己。
提示:
1. 你可以使用ping命令 ping -c10 www.baidu.com
2. 发邮件的命令是 echo "邮件内容" |mail -s "主题" abc@139.com
3. 脚本可以搞成死循环,每隔30s检测一次
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash #Remote monitoring.If the network is broken,email me~ #2015/07/23 ping -c10 www.baidu.com > 33.log t=$( awk '{print $1}' 33.log) while [ "1" = "1" ] do if [ ! -z $($t) ]; then echo " " else echo "DiaoXianLe" |mail -s "down" abc@139.com fi sleep 30 done |
上一个写法有一个错误,就是发邮件都是30s一次了。。。不合适,再写一个修改版的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/bash #Remote monitoring.If the network is broken,email me~ #2015/07/23 ping -c10 www.baidu.com > 33.log while [ "1" = "1" ] do t=$( awk '{print $1}' 33.log) if [ ! -z $($t) ]; then echo " " sleep 30 else break ; fi done echo "DiaoXianLe" |mail -s "down" abc@139.com |
这样就只会发一个邮件给我了