linux系统定时检查网络状态python脚本

有时需要使用ping命令检查网络通断,如果需要检查的网络主机比较多,使用脚本自动检查就比较方便。

vim test.py      //创建一个.py文件

test.py代码:

 1 #导入所需模块
 2 import subprocess    
 3 from subprocess import run
 4 from time import time
 5 from time import ctime
 6 #定义函数
 7 def ping (ip):
 8     a=run('ping -c 2 %s' %ip,shell=True,stdout=subprocess.PIPE) //执行命令行指令并返回结果
 9     t1=time()
10     t2=ctime(t1)  //获取当前系统时间
11     if a.returncode==0:      //如果返回值是0表示连通,否则为断开
12         print(t2+':'+' '+ip+'网络连通')
13     else:
14         print(t2+':'+' '+ip+'网络断开')
15 
16 ping('192.168.0.1')
17 ping('192.168.0.2')
18 ping('192.168.0.10')

运行结果:

在linux中定时执行一个程序可以使用crond服务,创建编辑计划任务:

crontab -e

写入:

*/1 * * * * /usr/local/bin/python3.6 /var/test.py > /dev/pts/0

前五位对应分、时、日、月、年,*/1 * * * *代表每隔一分钟执行一次,之后是任务内容设置,这里是用python3.6执行test.py,并将执行结果重定向到终端显示。

保存退出后任务就会按计划执行。

原文地址:https://www.cnblogs.com/winterbear/p/10964682.html