利用python脚本,删除超过60天的文件
功能:
支持 Python 2 和 Python 3,能够在 CentOS 系统下运行。脚本会每天定时检查指定目录下的所有文件,如果文件的生成日期超过 60 天,则删除该文件。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import time
import sys
# 指定目录路径
directory = "/path/to/your/directory"
# 设置文件保留天数
days_to_keep = 60
# 计算当前时间
current_time = time.time()
# 遍历目录下的所有文件
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
# 检查是否为文件
if os.path.isfile(file_path):
# 获取文件的最后修改时间
file_mtime = os.path.getmtime(file_path)
# 计算文件的天数
file_age_days = (current_time - file_mtime) / (60 * 60 * 24)
# 如果文件超过指定天数,则删除
if file_age_days > days_to_keep:
try:
os.remove(file_path)
print("Deleted: {}".format(file_path))
except OSError as e:
print("Error: {} - {}".format(e.filename, e.strerror))
# 退出脚本
sys.exit(0)
说明:
- 指定目录路径:将 directory 变量的值替换为你想要检查的目录路径。
- 文件保留天数:days_to_keep 变量设置为 60 天,你可以根据需要调整。
- 定时任务:你可以使用 cron 来设置每天定时运行这个脚本
设置定时任务:
打开 crontab 编辑器:
sudo crontab -e
添加以下行来每天凌晨 1 点运行脚本:
0 1 * * * /usr/bin/python /path/to/your/script.py
确保 /usr/bin/python 是你系统中 Python 解释器的路径,/path/to/your/script.py 是你脚本的路径。
查看已经存在的计划任务:
sudo crontab -l