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中for循环控制语句用法实例
Jun 02 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
python读取视频流提取视频帧的两种方法
Oct 22 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
UI自动化定位常用实现方法代码示例
Oct 27 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
pytorch fine-tune 预训练的模型操作
Jun 03 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
dedecms集成财付通支付接口
2014/12/28 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
js实现进度条的方法
2015/02/13 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
python文件写入实例分析
2015/04/08 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python字典一键多值实例代码分享
2019/06/14 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
资源环境与城市管理专业推荐信
2013/11/30 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
动员大会主持词
2014/03/20 职场文书
美术教师求职信范文
2015/03/20 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
pandas中对文本类型数据的处理小结
2021/11/01 Python
Nginx动静分离配置实现与说明
2022/04/07 Servers
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS