python3实现磁盘空间监控
2018-06-21 08:55
766 查看
本文实例为大家分享了python3磁盘空间监控的具体代码,供大家参考,具体内容如下
软硬件环境
python3
apscheduler
前言
在做频繁操作磁盘的python项目时,经常会碰到磁盘空间不足的情况,这个时候,工程应该要有自己的处理模块,当磁盘利用率到达某个点时,发出警告并停止程序的运行。本文就利用Python3中的apscheduler模块来处理这样的问题。
代码实践
import os import sys import signal import logging from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.interval import IntervalTrigger # 开启磁盘空间检测 sched = BackgroundScheduler() # 间隔5分钟开启一个检查 intervalTrigger = IntervalTrigger(minutes=5) # 给检查任务设个id,方便任务的取消 sched.add_job(spaceMonitorJob, trigger=intervalTrigger, id='id_space_monitor') sched.start() # 禁止apscheduler相关信息屏幕输出 logging.getLogger('apscheduler.executors.default').propagate = False
方法spaceMonitorJob代码如下
def spaceMonitorJob(): ''' 当磁盘(切片存储的目录)利用率超过90%,程序退出 :return: ''' try: st = os.statvfs('/') total = st.f_blocks * st.f_frsize used = (st.f_blocks - st.f_bfree) * st.f_frsize except FileNotFoundError: print('check webroot space error.') logger.error('check webroot space error.') # 移除任务,病关闭sched任务 sched.remove_job(job_id='id_space_monitor') sched.shutdown(wait=False) sys.exit(-3) if used / total > 0.9: print('No enough space.') logger.debug('No enough space.') sched.remove_job(job_id='id_space_monitor') sched.shutdown(wait=False) # 杀掉进程 os.killpg(os.getpgid(os.getpid()), signal.SIGKILL) # 退出 exit(-3)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 手把手实现用Cacti监控资源+完美监控MySQL等服务
- 利用servlet的监听器实现在线人数监控的功能
- VC 简单实现文件监控
- 使用云监控实现GPU云服务器的GPU监控和报警(上) - 自定义监控
- nagios插件之登陆防火墙实现session监控
- openstack nova的服务心跳机制和服务状态监控机制的实现
- 用java实现实时监控表中的数据,如果有新添加的数据,就通知外部服务器查询这条新增的数据。
- UNIX系统性能监控简述及shell实现系统资源利用率统计程序
- linux下c++实现文件监控
- 利用java实现一个简单的远程监控程序
- 全方位立体式监控平台之实现方案
- C#实现屏幕实时监控
- Informix 11.5 SQL 语句性能监控方法及实现
- Python 3.0 实现定时时监控12306 火车票
- c# FileSystemWatcher类实现目录文件监控
- 家庭视频监控系统Ⅱ--C#登录模块实现过程
- 树莓派3B + DHT11 + Yeelink云平台(实现温湿度远程监控)
- Netlink实现热拔插监控
- linux进程监控与自动重启实现
- 转: RS-232-C端口实时监控软件的设计实现