python连通区域检测_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

代码

cat bin/ping.py

#!/usr/bin/env python

#-*- coding: utf-8

from subprocess import Popen, PIPE

import shlex

import time

import datetime

import sys, os

basedir = os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) )

cnf = os.path.join( basedir, 'conf', 'ip.lst' )

# print cnf

while 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/bash

HOST=$1

ping -c 1 ${HOST} | grep 'bytes from' | awk '{print $0"\t" strftime("%T %F", systime())}'

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值