Python脚本--硬盘使用率超过80%后自动删除时间最早的文件
环境:
Centos7
前情:
有台临时存储日志的服务器磁盘经常爆满,使用python 和 crontab 配合自动删除早期的文件。
0x01 直接上代码,有注释
import os, time
import psutil
def rm_run(dir_path):
# 开启循环
while True:
# 查看 当前 磁盘或分区的使用率
usage_percent = psutil.disk_usage("/service").percent
# 当使用率大于 90% 的时候则触发清理操作
if usage_percent > 90:
# 获取 1 小时之前的时间
one_hour_time = time.time() - 3600
# 遍历 目录下的文件路径
for c in os.listdir(dir_path):
# 获取 文件 时间属性,方便后期对比
file_ctime = os.stat("%s/%s" % (dir_path, c)).st_ctime
# 判断 文件时间 是否小于 one_hour_time
if one_hour_time > file_ctime:
# 使用os.popen 执行删除命令
res = os.popen("rm -rf %s/%s" % (dir_path, c))
# 打印处理结果
print(res.read())
else:
# 如果 文件时间 大于 one_hour_time,则 pass
pass
else:
# 使用率不超过90% ,则 pass
pass
if __name__ == "__main__":
dir_path = "/service"
rm_run(dir_path)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步