700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 批量探测主机是否存活

批量探测主机是否存活

时间:2022-07-17 21:17:16

相关推荐

批量探测主机是否存活

该脚本用来批量探测大量需要探测的主机是否存活,使用的是nmap探测主机端口判断,至于用哪个端口,你得根据你的业务判断。为什么不用ping呢,因为ping不靠谱,网络稍微有点问题,就发宕机邮件,一天好几百封邮件。

假想环境:比如一个公司,有部分设备压力较大或因为老化问题,会频繁宕机。这时候就需要定期检测并上报设备健康状况。我们拿一个CDN公司做实例,假如后台Cache设备都使用的是ATS给用户服务,开放的80端口,我们就可以计划任务定期探测80端口确认是否存活。

一、准备工作

安装nmap命令及Sendmail,创建相关目录及文件;

nmapyum install -y nmap

wget/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar –zxvf sendEmail-v1.56.tar.gz

cd sendEmail-v1.56

cp sendEmail /usr/local/bin

mkdir -p/usr/local/sync/ipdir存放nmap生成的文件 touch/usr/local/sync/ipdir/ip存放要探测的主机IP

二、目录结构[root@localhost ~]#cd /usr/local/sync/;ll drwxr-xr-x. 2 root root 4096 11月 18 10:30 ipdir

-rw-r--r--. 1 root root 509 11月 18 10:26 nmap.sh

[root@localhost sync]#cd ipdir/;ll-rw-r--r--. 1 root root 714 11月 18 10:28 ip 被探测设备IP

-rw-r--r--. 1 root root 0 11月 18 10:35 nmap_111.161.65.34.lognmap生成的文件

三、计划任务及脚本[root@localhost ~]#crontab -l */5 * * * * sh /usr/local/sync/nmap.sh &

#!/bin/bash

#count=`ps -ef |grep nmap |grep -v "grep" |wc -l`

action(){

#for line in `cat /usr/local/sync/ipdir/ip`

cat /usr/local/sync/ipdir/ip | while read line

do

nmap -PO $line -p80 > /usr/local/sync/ipdir/nmap_$line.log

if [ "`cat /usr/local/sync/ipdir/nmap_$line.log | grep 'Host seems down'`" != "" ];then

/usr/local/bin/sendEmail -f 12345678910@ -t 10987654321@ -s -u "Server downtime" -xu 12345678910 -xp zxcvzxcvzxcv -m "Server down, please handle ! \n Time : `date` \n IP : `echo $line`"

fi

done

}

if [[ $count -lt 0 ]];then

exit 0

else

action

fi

主要的几个参数的注释,详细请百度sendmail用法,不再赘述。12345678910@ 发邮件的邮箱 10987654321@ 收邮件的邮箱

发邮件的邮件服务器

12345678910 发邮件邮箱用户名 zxcvzxcvzxcv 发邮件邮箱密码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。