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‘] = "[email protected]"
    msg[‘to‘] = "[email protected]"
    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(‘[email protected]‘, ‘xxxxxx‘)
    smtp.sendmail(‘[email protected]‘, ‘[email protected]‘,str(msg))
    smtp.quit()

  

时间: 2024-10-11 10:08:40

python 监控windows磁盘空间和备份大小的相关文章

Linx监控分享--磁盘空间监控+邮件提醒

分享第一个监控脚本,挂载点磁盘空间使用监控:如果使用空间达到了75%则开始报警,发送告警邮件. 在手机上安装网易的邮件客户端,就可以达到实时提醒的效果. 关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195 #!/bin/sh source /etc/profile IP=`/sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/

查看磁盘空间和目录大小的命令

工作中经常要查看磁盘中哪些文件占用空间比较大,占用了多大空间,实践中常用的几个命令如下 df  -h 查看磁盘空间 ls -lSr |more 以尺寸大小排列文件和目录 du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 du –a  /  | sort -ru | head -n 10

zabbix监控windows磁盘利用率

早上来到公司,客服的打电话说他们的录音不能打开了,马上登陆服务器发现磁盘满了,录音当然不能录音了 立马备份至其他的盘中,所以现在要在监控中增加对磁盘的监控.网上查找资料放心zabbix自带的windows模板中有对磁盘的监控于是添加模板到所需主机 在监控中即可看到监控项

python监控windows的CPU,Memory,Disk

有一批windows系统需要监控,无论是zabbix.nagios都需要安装相关插件,操作起来比较麻烦. python的psutil模块可以跨平台监控linux.windows.mac等,于是使用python写监控脚本,然后利用py2exe工具将其打包成exe后,直接将其放到windows下直接运行即可. 1.安装python2.7(32位) 在https://www.python.org/downloads/ 下载适合系统的python 安装后修改环境变量,"系统变量"----PAT

Python监控Windows下的文件变化

windows下监控文件系统的变化,用python很方便.实例代码如下,很简单,也不多说了. import os import win32file import win32con ACTIONS = { 1 : "Created", 2 : "Deleted", 3 : "Updated", 4 : "Renamed from something", 5 : "Renamed to something" }

Linux下磁盘空间不足的小结

1.i节点满了 如何解决: a)删除无用的临时文件,释放inode b)查看是不是0字节文件太多,因为0字节的文件也会占用inode 2.磁盘真的是空间不够了 对于大磁盘来说,保留空间继续保持默认(5%,留给root用户维护系统或者记录关键日志的时候使用),对资源的确是一种浪费,可以使用tune2fs调整比例. 3.是否存在文件被删除,进程却还是或者,资源没被释放的情况 a)通过lsof | grep delete,找到对应的进程号 b)kill掉对应的进程,然后释放掉空间 4.可以通过做好监控

[Linux监控]磁盘空间大小

echo 192.168.10.69>>ip.list ------------------------------------------- #!/bin/bash #注意if和[]之间的空格 rm -f ~/fanr/shell/DiskUsageAlert/out.print out=$(cat ~/fanr/shell/DiskUsageAlert/ip.list) echo $out for _IP in $out do ssh [email protected]$_IP df |

java查看windows的磁盘空间大小信息

原文:java查看windows的磁盘空间大小信息 代码下载地址:http://www.zuidaima.com/share/1550463266294784.htm 可以通过java的File对象得到磁盘的总空间大小,剩余空间大小,以及已用空间大小. package com.zuidaima.util.file; import java.io.File; public class FreeDiskSpace { public static void main(String[] args) {

python脚本监控磁盘空间

写了个python小程序,监控磁盘空间,前面部分网上也有很多,写博客的目的是记录下来,已供自己后面使用,思路就是用pexpect 这个模块,ssh到不同的机器上,查到磁盘空间,最后对查到的结果进行处理,然后存到mysql数据中.以下是代码: #coding=utf8 import pexpect import getpass,os,sys import re,datetime, time def ssh_command (user, host, password, command): ssh_n