python检测主机的连通性并记录到文件的实例
目录结构
ping_test/ ├──bin │├──ping.py │├──ping_run.sh.origin │└──ping.sh ├──conf │└──ip.lst ├──logs │├──10.10.37.196_2017-06-28_ping.log │└──10.10.62.229_2017-06-28_ping.log └──README.md
代码
catbin/ping.py
#!/usr/bin/envpython
#-*-coding:utf-8
fromsubprocessimportPopen,PIPE
importshlex
importtime
importdatetime
importsys,os
basedir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
cnf=os.path.join(basedir,'conf','ip.lst')
#printcnf
whileTrue:
today=datetime.datetime.strftime(datetime.datetime.now(),"%Y-%m-%d")
withopen(cnf)asf:
forhostinf:
host=host.strip()
cmd='shping.sh%s'%host
args=shlex.split(cmd)
p=Popen(args,stdout=PIPE,stderr=PIPE)
stdout,stderr=p.communicate()
filename=host+'_%s_ping.log'%today
logfile=os.path.join(basedir,'logs',filename)
#printlogfile
ifstdout:
withopen(logfile,'ab')asfd:
fd.write(stdout)
fd.flush()
elifstderr:
print('pinglost')
time.sleep(1)
catping.sh
#!/bin/bash
HOST=$1
ping-c1${HOST}|grep'bytesfrom'|awk'{print$0"\t"strftime("%T%F",systime())}'
以上这篇python检测主机的连通性并记录到文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短