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中字典dict常用操作方法实例总结
Apr 04 Python
Python实现基于权重的随机数2种方法
Apr 28 Python
图文详解WinPE下安装Python
May 17 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
python 读取DICOM头文件的实例
May 07 Python
python七夕浪漫表白源码
Apr 05 Python
对Python _取log的几种方式小结
Jul 25 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
python rsa-oaep加密的示例代码
Sep 23 Python
python 破解加密zip文件的密码
Apr 22 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
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
开源的javascript项目Kissy介绍
2014/11/28 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
ES6学习教程之模板字符串详解
2017/10/09 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
python条件和循环的使用方法
2013/11/01 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
python中set()函数简介及实例解析
2018/01/09 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
学校四风对照检查材料
2014/08/28 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
小学六一主持词开场白
2015/05/28 职场文书
大学生入党群众意见书
2015/06/02 职场文书
工作自我评价范文
2019/03/21 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android