使用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=10.10.83.131
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

时间: 2024-10-05 05:05:57

使用python和批处理bat脚本ping检测主机连通性的相关文章

批处理bat脚本编写(附详细例子)

                                                    批处理bat脚本编写(附详细例子) 由于在项目开发的过程中经常需要编写bat脚本,而看大牛们编写的bat脚本简直一头雾水,木有办法,作为bat菜鸟的我只有通过最最简单的例子来熟悉bat脚本中的常用命令,由此来开启我的bat脚本学习之路.... 1.常用命令举例 a.创建文件夹:                         md    D:\mybat       //将在D盘下创建一个名为

Windows批处理BAT脚本查询PM2.5实时空气质量指数(AQI)

@echo off set "myCity=beijing" set "fileUTF8=%temp%\AQI.UTF8" set "fileTMP=%temp%\AQI.TMP" set "fileANSI=%temp%\AQI.ANSI" wget -q "http://www.pm25x.com/city/%myCity%.htm" -O "%fileUTF8%" sed -r &

FTP 脚本 to Shell脚本&bat脚本&python脚本

---- linux Shell 脚本: #!/bin/bash cd /home/ftpuser source ~/.bash_profile FTPIP=127.0.0.1 ftpUser=ftpuser ftpPasswd=123456 DIR=upfile DUMPFILE=DY`date +_%Y%m%d`00001_000.tar.gz echo ${FTPIP} echo ${DUMPFILE} ftp -n<<! open ${FTPIP} user ${ftpUser} ${

[服务器]脚本:批处理带参数ping命令 发送邮件脚本

1.批处理带参数ping命令 @echo offecho Input you IP address ......set /p IP=echo Your IP number is %IP%.ping %IP%set IP=pause 2.发送告警脚本 For counter = 1 To 3 Step 1SendMailNext Public Sub SendMailNameSpace = "http://schemas.microsoft.com/cdo/configuration/"

Windows Ping | Tracert &#39;s Bat 脚本并行测试

系统:windows 需求:测试多台PC输出三个网站并行ping.tracert结果,多台PC同时进行. 说明:以www.baidu.com.www.sina.com.cn.www.tencent.com为例. 创建ping-tracer.www.baidu.com.www.sina.com.cn.www.tencent.com文件夹 ,输出结果.txt到每个文件夹 ping -n 100 -l 32  host ping -n 100次每次发送32个字节 域名 tracert -h 100 h

window bat批处理 实用脚本

一行一行读取txt里的内容 @echo off for /f %%i in (C:\Users\86132\Desktop\name.txt) do ( echo %%i>>name2.txt echo %%i ) pause 文件夹下的文件遍历脚本 echo off cd ..\..\..\Dist\media\gui FOR /F "delims==" %%i IN ('dir /b') do ( if exist "..\..\..\Tools\textur

window批处理——bat文件的编写

BAT 批处理脚本 教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程.了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕

BAT脚本编写要点_特殊字符

BAT脚本编写要点(1)_特殊字符 分类: 其他 2011-03-20 00:58 5621人阅读 评论(0) 收藏 举报 脚本cdatecmdtreesystem 1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 >nul 则用于屏蔽输出内容 [如 pause>nul] 示例2 [向1.txt中写入字符串 wind] echo wind>1.txt 3 >

Bat脚本处理ftp超强案例解说

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/842341 Bat脚本处理ftp超强案例解说 前言:    公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就 想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,