python检测主机的连通性并记录到文件的实例
2019/7/15 0:37:11
本文主要是介绍python检测主机的连通性并记录到文件的实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录结构
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检测主机的连通性并记录到文件的实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程