监控服务器是否存活

回复 收藏
本帖最后由 andy 于 2010-2-1 18:59 编辑

#! /bin/bash

N=2
rmail=15810682546@139.com
while :; do
        ipfile=/usr/local/sbin/serverip.txt
        for ip in `cat $ipfile`; do
                mailfile=/tmp/pkgloss.txt
                pkgloss=`ping -c4 $ip |grep 'transm' |awk -F',' '{print $2}' |awk '{print $1}'`
                if [ $pkgloss -lt $N ]; then
                echo $ip >$mailfile
                ping -c4 $ip |grep 'transm' >>$mailfile
                mail -s "$ip loss packets"  $rmail<$mailfile
                fi
        done
        sleep 100
done
2009-11-20 10:57 举报
已邀请:
0

阿铭老师 管理员

赞同来自:

说明:ipfile为所要监控的服务器IP列表。
0

阿铭老师 管理员

赞同来自:

本帖最后由 andy 于 2010-2-1 18:59 编辑

改进后的脚本:
#! /bin/bash

N=5
rmail=15810682546@139.com
while :; do
        ipfile=/usr/local/sbin/serverip.txt
        for ip in `cat $ipfile`; do
                mailfile=/tmp/pkgloss.txt
                echo $ip >$mailfile
                ping -c10 $ip |grep 'transm' >>$mailfile
                pkgloss=`grep 'transm' $mailfile |awk -F',' '{print $2}' |awk '{print $1}'`
                if [ $pkgloss -lt $N ]; then
                mail -s "$ip:$pkgloss resieve"  $rmail<$mailfile
                fi
        done
        sleep 60
done
0

张磊磊

赞同来自:

andy 发表于 2009-11-20 12:00
改进后的脚本:
#! /bin/bash

哥啊,ping -c这个参数是什么意思啊,我怎么用不了呢
0

testlinux

赞同来自:

[-c count] ping -c10    ping10次 我是这么理解的  windows 下是 -n
0

cisco12355074

赞同来自:

强大,学习学习
0

阿铭老师 管理员

赞同来自:

张磊磊 发表于 2015-4-30 17:21
哥啊,ping -c这个参数是什么意思啊,我怎么用不了呢

ping -c10 www.baidu.com,就是ping百度10次,-c后边跟包的个数
0

zaishuiyixia

赞同来自:

试了试,确实能收到邮件,挺实用
0

J!_yuan

赞同来自:

阿铭老师 发表于 2009-11-20 12:00
改进后的脚本:
#! /bin/bash

为什么是pkloss 是小于5呢 而不是10 呢
0

lyhabc

赞同来自:

testlinux 发表于 2015-5-28 10:09
[-c count] ping -c10    ping10次 我是这么理解的  windows 下是 -n

对的  
0

陈洪良

赞同来自:

+1

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: