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

简介:

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/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

blob.png

    后来发现这种方式没有落地成文件,不方便追踪。试了好多方法,最终发现使用windows自带的bat脚本就能轻松实现,惊喜不已!

    把执行结果重定向到一个以时间戳命名的文件里面,里面以时间分割,便于追踪结果。



1
2
3
4
5
@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来调用这个脚本

blob.png

BINGO


本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/2052657


相关文章
|
26天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
26 1
|
6天前
|
数据采集 存储 安全
python检测代理ip是否可用的方法
python检测代理ip是否可用的方法
|
15天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
22天前
|
存储 监控 异构计算
【Python】GPU内存监控脚本
【Python】GPU内存监控脚本
|
22天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
30天前
|
XML Shell Linux
性能工具之 JMeter 使用 Python 脚本快速执行
性能工具之 JMeter 使用 Python 脚本快速执行
41 1
性能工具之 JMeter 使用 Python 脚本快速执行
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
43 1
|
5月前
|
运维 网络协议 网络安全
百度搜索:蓝易云【你知道ping命令是如何工作的吗?】
需要注意的是,某些网络环境下,ICMP流量可能被防火墙或路由器过滤或限制,因此 `ping`命令可能无法正常工作。此外,`ping`命令只能提供基本的连通性和延迟信息,并不能完全反映网络的性能状况。
69 2
|
5月前
|
Python Windows
ping命令无法使用~弹出ping.py
ping命令无法使用~弹出ping.py
44 0
|
1月前
|
域名解析 网络协议 测试技术
Ping 命令是如何工作的?
【2月更文挑战第9天】
29 0
Ping 命令是如何工作的?