一个Python模块,用于监视Internet连接的正常运行时间,并记录任何停机时间和持续时间

monitor-internet-connection的Python项目详细描述


监视internet连接

一个Python模块,用于实时监视Internet连接的正常运行时间,并记录任何停机时间和持续时间。在

样本输出

--------------------------------------------------------------
--------------------------------------------------------------
Monitoring Internet Connection commencing : 2020-01-10 10:34:45 polling every 1 second(s)
-------Internet Connection unavailable at : 2020-01-11 07:35:01
-------Internet Connection restored at    : 2020-01-11 07:35:10
-------The duration of the downtime was   :             0:00:09
-------Internet Connection unavailable at : 2020-01-12 08:35:20
-------Internet Connection restored at    : 2020-01-12 08:36:27
-------The duration of the downtime was   :             0:01:07
Monitoring Internet Connection stopped at : 2020-01-13 12:42:38

什么是监控网络连接?在

它是一个Python模块,用于监视Internet连接的正常运行时间,也就是说,监视一个外部IP地址总是可以访问的。在

我为什么要使用监视器互联网连接?在

如果您的计算机上有需要Internet连接的自动长时间运行的进程/程序/活动,没有比在下一个小时/天/周/任何时候回来查看日志/进度并发现程序失败或数据丢失是因为Internet连接丢失而造成的。更糟糕的是,你可能不知道什么时候互联网连接中断了。因此,您是否需要重新运行整个程序/进程?或者只是其中的一部分?等等。在

Python模块monitor_internet_connection是这个问题的解决方案,它实时监控互联网连接,在控制台/终端上显示并记录到日志文件中:开始时间、结束时间和任何互联网连接停机的持续时间。您只需在控制台/终端中运行这个模块,然后让它连续运行几天/几周。在

监控互联网连接做什么?在

每隔X秒(默认轮询频率为1秒),程序监视Internet连接是否有效以及是否可以访问外部IP地址。在

如果无法访问互联网:

  1. 记录第一次观察到的故障时间。在

  2. 每隔一分钟记录一次后续不可用的时间间隔。一分钟的日志可以作为一个代理指示器来指示计算机是否断电或只是Internet连接不可用。在

  3. 当Internet连接恢复时,记录第一次观察到的恢复时间。在

  4. 最后,记录因特网不可用的总持续时间。在

日志文件

  • 日志文件名为internet_monitor.log。在

  • 日志文件将写入当前工作文件夹。在

  • 日志文件总是追加到,从不覆盖。在

  • 写入日志文件的信息也会显示在控制台/终端上。在

  • 可以通过命令行参数禁用日志文件。请参阅下面的用法。在

先决条件

必须安装Python3.6或更高版本。在

安装

^{pr2}$

快速启动

python -m monitor_internet_connection

如何退出程序

要退出程序,只需在控制台/终端中按Ctrl-C。这将导致程序正常退出。在

使用

usage: python -m monitor_internet_connection [-h] [-n] [-f N]Monitor the uptime of the Internet connection and record any downtimeoptional arguments:  -h, --help        show this help message and exit  -n, --no-logfile  do not create a log file (default: False)  -f N, --freq N    specify polling frequency in seconds (default: 1)

许可证

这个项目是由麻省理工学院授权的。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页