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发送邮件接收邮件示例分享
Jan 21 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
Python接口测试get请求过程详解
Feb 28 Python
Python如何用filter函数筛选数据
Mar 05 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 Python
python简单利用字典破解zip文件口令
Sep 07 Python
python3中编码获取网页的实例方法
Nov 16 Python
python3代码中实现加法重载的实例
Dec 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
php xml文件操作代码(一)
2009/03/20 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
《值日生》教学反思
2014/02/17 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
暑期培训班策划方案
2014/08/26 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL