- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
发表于 2019-1-14 16:03:44
|
显示全部楼层
#!/bin/sh) G% T9 N a0 v% D7 u1 `# }* v
####################2 w2 i! W. c9 n0 s: _) {
#服务器ping测试程序
7 H5 j0 }1 ?: T( |, T. q9 i. B#James Qi 2013% s9 o- R% L. |3 w
#循环检测各台服务器,在指定的ping次数中丢失的必须小于某个设定值,如果大于则说明有问题,发邮件通知报警
7 l7 D' M* |0 s9 B#在/etc/crontab中设定本程序的执行周期4 B/ C, T9 d1 U6 G/ J9 I& s( G
####################
2 v% s" t# }+ ^ C# H7 v) ^+ ~' Y; ~7 Q# k* l* W
#参数设置
& M3 M4 ^4 ?2 z3 k% g6 SCOUNT=100 #每台服务器测试ping的次数
* H6 J" o3 [1 U8 WMAX=90 #其中最多无法ping通的次数
% y; W4 E0 Q* EHOST=(#服务器列表,IP地址或者域名
9 p; O+ e o1 ]4 W. P6 S.140.x.x
) K6 D9 Y% S0 N+ y r- v. T( e.140.xx.xx
& a: B& d7 q- Z% t.140.xxx.xxx
( X, I3 S( [' I* N/ L" S4 kfalcon000.startdedicated.com4 f, e' I4 G' R5 @' ]' p8 @+ w
eagle000.startdedicated.com. S' j$ s1 V4 c4 a
hawk000.startdedicated.com
( N4 [7 J# ^/ b" w* @4 H)7 q* j# x! f- K$ K1 }
#循环检测/ u' P' D; ~) m4 K
for ipadd in "${HOST[@]}"
) S" C. f; l) i+ Y9 c/ ^4 pdo
' B; [0 j' v# i; E( v. M# ^2 H8 q timing=`date +%Y/%m/%d/%H:%M:%S`
7 }; k' y7 G D- o+ ^ ping $ipadd -c $COUNT > 1ping.log
5 [ Z# r3 z( P; ` losspag=`grep "packet loss" 1ping.log |awk '{print $6}' |sed 's/%//g'` h+ t, j" Q O' S& _
if [ $losspag -ge $MAX ] ;
9 u2 I3 F8 D9 p9 B* [ then
! t8 _6 j. e8 x9 K5 O9 k echo $timing > tmp.log
/ {" J1 f9 S, _ echo -n $ipadd >> tmp.log
# Q: p9 r; L8 c' J7 @8 Y c2 z% W echo -n "packet loss is more than $MAX of $COUNT">> tmp.log" [5 m# B6 x: Q7 t
cat /root/tmp.log | mail -s "$ipadd ping packet loss is more then $MAX of $COUNT" 133xxxxxxxx@189.cn! v* m$ c9 K1 W2 [ B
else
% f6 z+ ^+ N6 @1 k* r rm -f tmp.log
/ N$ {1 v3 `# J3 O7 B8 o% O fi `4 o! t; K! } M$ f2 }
done |
|