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实现文本文件合并
Dec 29 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
使用python实现tcp自动重连
Jul 02 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
django基础学习之send_mail功能
Aug 07 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
Jupyter加载文件的实现方法
Apr 14 Python
解决python便携版无法直接运行py文件的问题
Sep 01 Python
详解python字符串驻留技术
May 21 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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冒泡排序算法代码详细解读
2011/07/17 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
Vue.js实现分页查询功能
2020/11/15 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
python3.5的包存放的具体路径
2020/08/16 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
基层党组织公开承诺书
2014/03/28 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
葬礼主持词
2015/07/02 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
Golang并发操作中常见的读写锁详析
2021/08/30 Golang