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

 更新时间:2018年06月21日 10:18:42   作者:秋雪夜雨寒  
今天小编就为大家分享一篇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检测主机的连通性并记录到文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python面向对象编程(一)

    Python面向对象编程(一)

    本文详细讲解了Python的面向对象编程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 关于Python下载大文件时哪种方式速度更快

    关于Python下载大文件时哪种方式速度更快

    这篇文章主要介绍了关于Python下载大文件时哪种方式速度更快,通常,我们都会用 requests 库去下载,这个库用起来太方便了,需要的朋友可以参考下
    2023-04-04
  • Python通过UDP传输超过64k的信息

    Python通过UDP传输超过64k的信息

    在UDP中,单个数据包的最大尺寸通常受到网络层的限制,这通常被称为最大传输单元(MTU),在以太网环境中,标准的MTU大小通常为1500字节,下面是一个Python示例,展示了如何通过UDP发送和接收超过64KB的数据,需要的朋友可以参考下
    2024-08-08
  • 利用Python实现批量下载上市公司财务报表

    利用Python实现批量下载上市公司财务报表

    这篇文章主要为大家介绍了如何利用Python做个小工具,可以批量把某网站上的上市公司的财报下下来。文中的示例代码讲解详细,感兴趣的可以动手试一试
    2022-03-03
  • Python数据类型转换详解

    Python数据类型转换详解

    本篇文章里小编给大家整理的是关于Python中常用数据类型之间的转换相关知识点,有需要的朋友们可以学习下,希望能够给你带来帮助
    2021-10-10
  • Python使用PyNmap进行网络扫描的详细步骤

    Python使用PyNmap进行网络扫描的详细步骤

    使用 PyNmap 进行网络扫描是一个非常有效的方式,PyNmap 是 Nmap 工具的一个 Python 封装,它允许你在 Python 脚本中使用 Nmap 的强大功能,本文介绍了如何使用 PyNmap 进行网络扫描的详细步骤,需要的朋友可以参考下
    2024-08-08
  • Python如何实现SSH远程连接与文件传输

    Python如何实现SSH远程连接与文件传输

    这篇文章主要介绍了Python如何实现SSH远程连接与文件传输问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 解决tensorflow添加ptb库的问题

    解决tensorflow添加ptb库的问题

    今天小编就为大家分享一篇解决tensorflow添加ptb库的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python学习笔记之集合的概念和简单使用示例

    Python学习笔记之集合的概念和简单使用示例

    这篇文章主要介绍了Python学习笔记之集合的概念和简单使用,涉及Python集合的定义、查找、添加、删除等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-08-08
  • Python 按规则解析并替换字符串中的变量及函数(示例代码)

    Python 按规则解析并替换字符串中的变量及函数(示例代码)

    这篇文章主要介绍了Python 按规则解析并替换字符串中的变量及函数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11

最新评论