python 监控windows磁盘空间和备份大小
#!/usr/bin/env python
# Version = 3.5.2
# __auth__ = '无名小妖'
import os
import time
import sendmail
import psutil
import collections disk_used = collections.OrderedDict()
cur_time = time.time()
# current_day = cur_time - cur_time % 86400
root_dir = ["D:\\backup", "G:\db_backup"]
log_name = 'result.log' def get_disk_info():
"""
查看磁盘属性信息
:return: 磁盘使用率和剩余空间
"""
for id in psutil.disk_partitions():
if 'cdrom' in id.opts or id.fstype == '':
continue
disk_name = id.device.split(':')
s = disk_name[0]
disk_info = psutil.disk_usage(id.device)
disk_used[s + '盘使用率:'] = '{}%'.format(disk_info.percent)
disk_used[s + '剩余空间:'] = '{}GB'.format(disk_info.free // 1024 // 1024 // 1024)
return disk_used if __name__ == '__main__':
with open(log_name, 'w') as f:
ret = get_disk_info()
for k, v in ret.items():
f.write('{}{}。\n'.format(k, v)) for item in root_dir:
print(item)
all_size = 0
for parent, dir_names, file_names in os.walk(item): # 遍历文件夹
for filename in file_names:
path = os.path.join(parent, filename) # 获取文件路径
stat_info = os.stat(path) # 读取文件属性
upload_time = time.ctime(stat_info.st_mtime) if stat_info.st_mtime > cur_time - 86400:
all_size += stat_info.st_size
if stat_info.st_size // 1024 <= 5:
f.write('\n{}\n\t大小:{}KB, 上传时间:{}。'.format(path, stat_info.st_size // 1024, upload_time)) f.write('\n\n {}本日备份大小:{}GB.\n'.format(item, all_size // 1024 // 1024 // 1024)) with open(log_name, 'rb') as logfile:
sendmail.sendmail('204-备份监控', str(logfile.read(), encoding='GBK'))
sendmail.py
#!/usr/bin/env python
# Version = 3.5.2
# __auth__ = '无名小妖'
import smtplib
import email.mime.multipart
import email.mime.text def sendmail(sub, con):
msg = email.mime.multipart.MIMEMultipart()
msg['from'] = "wumingxiaoyao@life.org.com"
msg['to'] = "hello@python.good.com"
msg['subject'] = sub
content = con
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
smtp = smtplib.SMTP()
smtp.connect('smtp.mail.haoyisheng.com', '25')
smtp.login('lijianwei@mail.haoyisheng.com', 'xxxxxx')
smtp.sendmail('lijianwei@mail.haoyisheng.com', 'lijianwei@mail.haoyisheng.com',str(msg))
smtp.quit()
python 监控windows磁盘空间和备份大小的更多相关文章
- zabbix监控windows磁盘空间
监控windows磁盘空间,不是百分比. 当windows系统添加相应的windows模板后,会自动生成检测系统空间的监控项,在应用集(Filessystem)里面,Free disk space o ...
- [原创]SSIS-WMI 数据读取器任务:监控物理磁盘空间
背景: 随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可 ...
- 【原创】SSIS-WMI 数据读取器任务:监控物理磁盘空间
1.背景 随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可能导致物理 ...
- python os.startfile python实现双击运行程序 python监控windows程序 监控进程不在时重新启动
用python监控您的window服务 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://world77.blog.51cto.co ...
- Python监控Windows下的文件变化
windows下监控文件系统的变化.用python非常方便.实例代码例如以下,非常easy.也不多说了. import os import win32file import win32con ACTI ...
- Zabbix 监控Windows磁盘IO
Windows下,打开cmd输入 typeperf -qx > c:\typeperf.txt #打开c:\typeperf.txt文件 windows性能计数器里面包含windows相关数值 ...
- Python:监控ASM剩余空间
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Jipu FANG' version = 0.1 import cx_Oracle ...
- cacti监控linux和windows磁盘IO
cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...
- 第6章:使用Python监控Linux系统
1.Python编写的监控工具 1).多功能系统资源统计工具dstat dstat是一个用Python编写的多功能系统资源统计工具,用来取代Linux下的vmstat,iostat,netstat和i ...
随机推荐
- JAVA多线程----用--进阶--》网络编程2
import java.io.*; import java.net.*; /** * 服务器端逻辑线程 */ public class LogicThread extends Thread { Soc ...
- 20179223《Linux内核原理与解析》第六周学习笔记
视频知识学习 给MenuOS增加time和time-asm命令 1.更新menu代码到最新版 2.再main()函数中增加MenuConfig 3.增加对应的Time函数和TimeAsm函数(这里的函 ...
- python(八):反射
反射机制是通过python3内置的hasattr.getattr.setattr来实现的.即根据变量名的字符串形式来获取变量名的属性或方法. 一.通过反射查看已知对象的属性和方法 getattr(ob ...
- mysql 查找多个值并且取最大值一个和分组
SELECT eco_truename, eco_uid, max(checkup_time) AS time FROM es_checkup_order WHERE checkup_time GRO ...
- python mysql基本操作
1.创建数据库.表添加数据. # -*- coding: utf-8 -*- import MySQLdb.cursors conn =MySQLdb.connect(',charset = 'utf ...
- python scrapy ip代理的设置
在scrapy项目中建一个与spider同级的python目录并在下面添加一个py文件内容为 # encoding: utf-8import base64proxyServer = 代理服务器地址 # ...
- LeetCode 755. Pour Water
原题链接在这里:https://leetcode.com/problems/pour-water/description/ 题目: We are given an elevation map, hei ...
- Android中执行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
今天在使用百度地图的时候执行发现报错: 明明已经增加了liblocSDK3.so.但总是无法定位.提示错误java.lang.UnsatisfiedLinkError: Couldn't load l ...
- 在 CentOS 7.2 上安装 ODOO 10 (2018-10-09 持续更新)
在 CentOS 7.2 上安装 ODOO 10 更新系统 yum update 安装 EPEL 源 1 yum install -y epel-release 安装依赖组件 yum install ...
- FPGA图像加速解决方案来了
近日,百度云与联捷计算科技(CTAccel)共同推出基于FPGA的图像加速解决方案(CIP,CTAccel Image Processor),实现对JPEG转码JPEG.JPEG转码WebP(M6)等 ...