You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找目录中5分钟以上的旧文件并写入文件,且每15分钟执行一次

技术方案:查找指定目录中修改时间超5分钟的文件并定时执行

一、Python脚本优化实现

原参考代码存在参数错误、未实现文件写入、冗余依赖等问题,以下是修正并完善后的脚本:

import os
import time

# 配置目标目录和结果输出文件路径
TARGET_DIR = "/Users/chandha/scripts/python/"
OUTPUT_FILE = "/path/to/your/output_record.txt"  # 替换为实际输出文件路径

def find_expired_files():
    current_time = time.time()
    five_minutes = 5 * 60  # 5分钟对应的秒数

    # 以追加模式写入结果,保留历史执行记录
    with open(OUTPUT_FILE, "a", encoding="utf-8") as output_f:
        # 写入任务执行时间标记
        output_f.write(f"=== 执行时间: {time.strftime('%Y-%m-%d %H:%M:%S')} ===\n")
        
        # 自动管理目录扫描资源
        with os.scandir(TARGET_DIR) as entries:
            for entry in entries:
                if entry.is_file():
                    file_age = current_time - entry.stat().st_mtime
                    if file_age > five_minutes:
                        # 格式化时间信息
                        modify_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(entry.stat().st_mtime))
                        create_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(entry.stat().st_ctime))
                        # 拼接文件详情
                        file_detail = f"文件路径: {os.path.join(TARGET_DIR, entry.name)}\n" \
                                    f"创建时间: {create_time}\n" \
                                    f"修改时间: {modify_time}\n" \
                                    f"已存在时长(秒): {int(file_age)}\n\n"
                        output_f.write(file_detail)

if __name__ == "__main__":
    find_expired_files()

关键优化点:

  • 用with语句自动释放文件、目录扫描资源,无需手动调用close()
  • 以追加模式写入结果文件,避免覆盖历史记录
  • 格式化输出文件创建/修改时间,提升可读性
  • 移除未使用的sys、boto3模块,精简代码

二、定时任务配置

1. Linux/macOS(使用crontab)

  1. 终端执行crontab -e进入定时任务编辑模式
  2. 添加以下配置(替换脚本路径为实际路径):
*/15 * * * * /usr/bin/python3 /path/to/your/script.py >> /var/log/expired_files_task.log 2>&1
  • */15 * * * *:表示每15分钟执行一次
  • /usr/bin/python3:Python解释器路径(可通过which python3查看)
  • 末尾日志配置:将脚本输出和错误信息写入日志,方便排查问题
  1. 保存退出后,crontab自动加载新配置

2. Windows(使用任务计划程序)

  1. 打开「任务计划程序」,点击「创建基本任务」
  2. 填写任务名称(如“查找过期文件”),点击下一步
  3. 触发器选择「每天」,设置重复间隔为15分钟,持续时间选「无限期」,点击下一步
  4. 操作选择「启动程序」,程序路径选Python解释器(如C:\Python39\python.exe),添加参数填入脚本完整路径(如"C:\path\to\your\script.py"),点击下一步
  5. 勾选「完成时打开任务属性对话框」,完成后在属性的「设置」标签中,可勾选“任务运行超时自动停止”保障稳定性

内容的提问来源于stack exchange,提问作者chandhan02

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:05:15