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

如何自动删除旧HTML报告文件夹,仅保留24小时内的报告?

自动清理旧HTML报告文件夹方案

当然可以,你可以通过脚本+定时任务的组合来实现自动清理旧报告,以下是几种实用方案:

1. Python脚本实现(跨平台)

写一个简单的Python脚本,遍历报告存储目录,判断文件夹的创建时间,删除超过24小时的文件夹:

import os
import datetime
import shutil

def cleanup_old_reports(report_dir):
    # 获取当前时间
    now = datetime.datetime.now()
    # 24小时时间差阈值
    cutoff = now - datetime.timedelta(hours=24)

    for item in os.listdir(report_dir):
        item_path = os.path.join(report_dir, item)
        # 只处理文件夹
        if os.path.isdir(item_path):
            # 获取文件夹创建时间(Windows用getctime,Linux/macOS兼容处理)
            try:
                create_time = datetime.datetime.fromtimestamp(os.path.getctime(item_path))
            except OSError:
                continue
            # 判断是否超过24小时
            if create_time < cutoff:
                print(f"删除旧报告文件夹: {item_path}")
                shutil.rmtree(item_path)

# 替换为你的报告存储目录
report_directory = "/path/to/your/html/reports"
cleanup_old_reports(report_directory)

注意事项:

  • 首次运行时可以先注释掉shutil.rmtree(item_path),只打印要删除的文件夹,确认无误后再执行删除操作
  • Linux系统中os.path.getctime返回的是文件最后修改时间,若需严格按创建时间,可结合stat命令获取,不过多数场景下修改时间已满足需求

2. Shell脚本实现(Linux/macOS)

用find命令快速实现,适合类Unix系统:

#!/bin/bash

# 替换为你的报告存储目录
REPORT_DIR="/path/to/your/html/reports"

# 查找并删除超过24小时的文件夹(-mtime +0 表示修改时间超过24小时)
find "$REPORT_DIR" -type d -mtime +0 -exec rm -rf {} \;

说明:

  • -type d 指定只处理文件夹
  • 测试阶段可以把rm -rf换成echo,先确认要删除的目标列表,再执行实际删除

3. 定时执行配置

脚本写好后,设置定时任务让它自动运行:

Windows系统

  • 打开「任务计划程序」,创建新任务
  • 触发条件:设置为每天执行一次,或每隔几小时执行一次
  • 操作:选择「启动程序」,指向你的Python脚本(或打包后的.exe文件),也可以用批处理文件调用脚本

Linux/macOS系统

  • 编辑crontab:执行crontab -e
  • 添加定时任务,比如每天凌晨2点执行清理脚本:
    0 2 * * * /path/to/your/cleanup.sh
    
  • 保存退出后,cron会自动加载该任务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:37:14