python检测硬盘脚本
#!/usr/bin/env python
# _*_coding:utf-8_*_ import os
import sys
import statvfs def main():
'''deamon'''
if 'linux' not in sys.platform:
print 'sorry! system opreation not supply!'
sys.exit(3) mount = []
result = []
label = []
status = 0 with open('/proc/mounts') as f:
for v in f:
v = v.split()
mountName = v[1]
if v[0] in mount:
continue
mount.append(v[0])
try:
vfs=os.statvfs(mountName)
except OSError:
print 'mounted device error, plase check %s' % mountName
sys.exit(3)
totalSpace= vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
if totalSpace == 0:
continue
availSpace= vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
availInode = vfs[statvfs.F_FFREE]
totalInode = vfs[statvfs.F_FILES]
usedSpace = totalSpace - availSpace
usedInode = totalInode - availInode
usedSpacePer = float(usedSpace)/totalSpace * 100
usedInodePer = float(usedInode)/totalInode * 100
usedSpacePercent = "{0:.0f}%".format(usedSpacePer)
usedInodePercent = "{0:.0f}%".format(usedInodePer)
if usedSpacePer >= 90 or usedInodePer >= 90:
status = 2
elif usedSpacePer >= 80 or usedInodePer >= 80:
status = 1
info = '%s=%sGB,%s inode=%s;' % (mountName,availSpace,usedSpacePercent,usedInodePercent)
if info not in result:
result.append(info)
label.append('%s=%s;%s;%s;0;%s ' % (mountName,availSpace,0,availSpace*2,availSpace*4))
print 'free space:%s|%s' % (''.join(result),''.join(label))
sys.exit(status) if __name__ == '__main__':
main()
python检测硬盘脚本的更多相关文章
- Python运维脚本整理
Python 实现的自动化服务器管理 import sys import os import paramiko ssh = paramiko.SSHClient() ssh.set_missing_h ...
- python检测服务器是否ping通
好想在2014结束前再赶出个10篇博文来,~(>_<)~,不写博客真不是一个好兆头,至少说明对学习的欲望和对知识的研究都不是那么积极了,如果说这1天的时间我能赶出几篇精致的博文,你们信不信 ...
- python检测是否是质数
python检测是否是质数 编写python脚本,使得实现以下功能: 输入一个整数,通过脚本判断出输入的这个数是否是质数,然后输出是否是质数. 脚本如下图所示: Num = input("P ...
- python检测变量名
python检测变量名 变量在编程中的用途非常广,在python中,变量的名称只能以字母或者下划线“_”开头,变量名只能由字母.数字.下划线组成. 编写python,使得其实现以下功能: 1.输入一个 ...
- python注释、脚本参数、字节码
python注释.脚本参数.字节码 --道心 python安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3. ...
- Python数据库备份脚本
Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...
- python检测文件的MD5值
python检测文件的MD5值MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权 ...
- 使用python检测一个设备是否ping的通
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并 ...
- Linux上使用SMART检测硬盘
SMART(Self-Monitoring, Analysis, and Reporting Technology)是一种普及度比较高的磁盘分析检测工具,磁盘运行过程中,该工具搜集磁盘的状态参数,如型 ...
随机推荐
- 软件工程 作业part1
自我介绍 老师您好,我叫宋雨,本科在长春理工大学,专业是计算机科学与技术. 1.回想一下你曾经对计算机专业的畅想:当初你是如何做出选择计算机专业的决定?你认为过去接触的课程是否符合你对计算机专业的期待 ...
- 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)
一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ...
- 系统常量对话框QT实现
1.运行结果: 2.代码 main.cpp #include "constantdiag.h" #include <QtWidgets/QApplication> in ...
- QT分析之QApplication的初始化
原文地址:http://blog.163.com/net_worm/blog/static/1277024192010097430321/ 在开始分析之前交代一下,一是分析的QT在Window平台实现 ...
- %pylab ipython 中文
格式:%pylab [--no-import-all] [gui] 该命令会在ipython或notebook环境中自动加载numpy和matplotlib库,跟以下语句功能一致 import num ...
- Mysql查询优化从入门到跑路(一)数据库与关系代数
1.怎样才算是数据库? ACID,是指在数据库管理系统中事务所具有的四个特性 1)原子性 2)一致性 3)隔离性 4)持久性 关系数据库,基于关系代 ...
- jenkins部署springboot多项目
war包的部署问题不大,这里记录jar包的部署过程: 1:jar包的体积过大问题 pom.xml参考以下配置(依赖包会分离到target/lib/,jar包体积由几十M缩小到几k) <build ...
- 百度地图常用2.0使用以及调用js
/** * 生成一条路线 * @param {Object} baiduMap 百度地图的 map对象 * @param {Object} lineColor 线路颜色 * @param {Objec ...
- 使用 ECS 实例创建 FTP 站点 linux
本文只做记载过程和问题,并不详细 官方教程走一遍 https://help.aliyun.com/document_detail/51998.html#h2-linux-ftp-2 值得注意的是步骤二 ...
- ajax 请求 后台返回的文件流
download(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); // 也可以使用POST方式,根据接口 xhr. ...