千家信息网

使用python和批处理bat脚本ping检测主机连通性

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天因为工作需求,要在报盘机器上(windows系统)检测与上手连接的网络可用性,使用zabbix自身的功能并不能解决这个问题。所以一开始考虑使用python脚本调系统的ping命令来检测然后再使用z
千家信息网最后更新 2026年10月31日使用python和批处理bat脚本ping检测主机连通性

今天因为工作需求,要在报盘机器上(windows系统)检测与上手连接的网络可用性,使用zabbix自身的功能并不能解决这个问题。所以一开始考虑使用python脚本调系统的ping命令来检测

然后再使用zabbix来监控就可完成任务。

网上查了下,发现使用subprocess和shlex可以完成检测,于是参考着整了个小脚本

#!/usr/bin/env python# -*- coding: utf-8 -*-#author:qingmiaoimport subprocessimport shlexcmd = "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 offset THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%set IP=127.0.0.1echo %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

脚本 检测 结果 文件 时间 系统 惊喜 成功 惊喜不已 任务 功能 可用性 命令 方式 方法 机器 网络 问题 需求 utf-8 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 山东特亿宝互联网科技有限公司 河南真二互联网科技有限公司 万易互联网科技有限公司 互联网科技媒体 奇酷互联网络科技公司 新浪科技互联网 互联网科技小额贷款 大白互联网科技 上海卓越科技 互联网 福州新华互联网科技学校 知乎 互联网公司科技股 晓花互联网科技有限公司网址 亳州好赞互联网科技有限公司 南博望互联网科技有限公司 版纳互联网科技选哪家 科技互联网经济论坛 恒生科技指数 中概互联网 河南商务圈互联网科技有限公司 互联网的黑科技实验室 互联网科技社 互联网科技革命 世界互联网领先科技成果 居家互联网科技有限公司 栖莱科技互联网股份有限公司 南平创想时代互联网科技有限公司 互联网科技人工智能实验室 浙南科技城互联网大厦建设工程 黑云互联网科技有限公司 互联网科技新闻
0