使用python和批处理bat脚本ping检测主机连通性-创新互联
今天因为工作需求,要在报盘机器上(windows系统)检测与上手连接的网络可用性,使用zabbix自身的功能并不能解决这个问题。所以一开始考虑使用python脚本调系统的ping命令来检测
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了达坂城免费建站欢迎大家使用!然后再使用zabbix来监控就可完成任务。
网上查了下,发现使用subprocess和shlex可以完成检测,于是参考着整了个小脚本
#!/usr/bin/env python # -*- coding: utf-8 -*- #author:qingmiao import subprocess import shlex cmd = "ping -n 1 127.0.0.1" args = shlex.split(cmd) try: subprocess.check_call(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print "1" except subprocess.CalledProcessError: print "0"
执行后如下图所示,检测成功返回1,否则返回0
后来发现这种方式没有落地成文件,不方便追踪。试了好多方法,最终发现使用windows自带的bat脚本就能轻松实现,惊喜不已!
把执行结果重定向到一个以时间戳命名的文件里面,里面以时间分割,便于追踪结果。
@echo off set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% set IP=127.0.0.1 echo %TIME:~0,8% >>D:\test\ping_result_%THISDATE%.txt (ping %IP% -n 1 | find "TTL" >>D:\test\ping_result_%THISDATE%.txt)&& echo 1 || echo 0
执行结果如下,同样可以使用zabbix来调用这个脚本
BINGO
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:使用python和批处理bat脚本ping检测主机连通性-创新互联
分享路径:http://scyanting.com/article/depcpg.html