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


Posted in Python onJune 21, 2018

目录结构

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正则表达式抓取成语网站
Nov 20 Python
python实现socket客户端和服务端简单示例
Feb 24 Python
python读写ini文件示例(python读写文件)
Mar 25 Python
python基础教程之Hello World!
Aug 29 Python
python通过函数属性实现全局变量的方法
May 16 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
Django分页功能的实现代码详解
Jul 29 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
Python可视化工具如何实现动态图表
Oct 23 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 #Python
python实现自动发送报警监控邮件
Jun 21 #Python
Python中list查询及所需时间计算操作示例
Jun 21 #Python
python监控文件并且发送告警邮件
Jun 21 #Python
python3实现磁盘空间监控
Jun 21 #Python
Python实现的远程登录windows系统功能示例
Jun 21 #Python
python3监控CentOS磁盘空间脚本
Jun 21 #Python
You might like
PHP中实现进程间通讯
2006/10/09 PHP
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
php接口隔离原则实例分析
2019/11/11 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
Python开发编码规范
2006/09/08 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
读后感作文评语
2014/12/25 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
九年级英语教学反思
2016/02/15 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS