设计一个脚本,监控远程的一台机器(假设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

这样就只会发一个邮件给我了