首页 > 编程 > Python > 正文

python检测主机的连通性并记录到文件的实例

2020-02-15 21:56:59
字体:
来源:转载
供稿:网友

目录结构

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

代码

cat bin/ping.py

#!/usr/bin/env python#-*- coding: utf-8from subprocess import Popen, PIPEimport shleximport timeimport datetimeimport sys, osbasedir = os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) )cnf = os.path.join( basedir, 'conf', 'ip.lst' )# print cnfwhile True: today = datetime.datetime.strftime( datetime.datetime.now(), "%Y-%m-%d" ) with open(cnf) as f:  for host in f:   host = host.strip()   cmd = 'sh ping.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)   # print logfile   if stdout:    with open(logfile, 'ab') as fd:     fd.write( stdout )     fd.flush()   elif stderr:    print('ping lost') time.sleep(1)

cat ping.sh

#!/bin/bashHOST=$1ping -c 1 ${HOST} | grep 'bytes from' | awk '{print $0"/t" strftime("%T %F", systime())}'

以上这篇python检测主机的连通性并记录到文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表