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 相关文章推荐
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 Python
python负载均衡的简单实现方法
Feb 04 Python
浅析Python3爬虫登录模拟
Feb 07 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
Python字符串的一些操作方法总结
Jun 10 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
keras打印loss对权重的导数方式
Jun 10 Python
Python基于字典实现switch case函数调用
Jul 22 Python
Python接口自动化测试的实现
Aug 28 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
用PHP调用Oracle存储过程
2006/10/09 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
详解php实现页面静态化原理
2017/06/21 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
解析Vue 2.5的Diff算法
2017/11/28 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
讲解Python中的递归函数
2015/04/27 Python
python从入门到精通(DAY 1)
2015/12/20 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
利用python 读写csv文件
2020/09/10 Python
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
行政部主管岗位职责
2013/12/28 职场文书
粗加工管理制度
2014/02/04 职场文书
师德师风个人反思
2014/04/28 职场文书
大学英语专业求职信
2014/06/21 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Redis分布式锁Redlock的实现
2021/08/07 Redis