.jpg)
核心结论:通过 find 命令结合 crontab 定时任务,可实现自动删除 Linux 硬盘上 10 天前的文件。
一、核心命令(手动执行验证)
bash
# 替换 /目标目录 为实际要清理的路径(如 /data/logs)
find /目标目录 -type f -mtime +10 -delete
二、命令参数说明
-type f:仅匹配文件(排除目录,避免误删文件夹)。-mtime +10:筛选 “最后修改时间超过 10 天” 的文件(+10 表示 10 天前及更早)。-delete:直接删除匹配文件(执行前建议去掉此参数,用ls预览:find /目标目录 -type f -mtime +10 -ls)。
三、设置定时任务(自动执行)
编辑 crontab 配置:
bash
crontab -e添加定时任务(每天凌晨 2 点执行,资源占用低):
bash
# 每天2:00自动清理 /目标目录 下10天前的文件 0 2 * * * find /目标目录 -type f -mtime +10 -delete保存退出(按
Ctrl+O保存,Ctrl+X退出,适用于 vi 编辑器)。
四、注意事项
路径务必准确,避免写
/根目录,防止误删系统文件。首次使用建议先预览匹配文件,确认无误后再添加
-delete参数。若需保留特定后缀文件(如 .txt),可加
-name "*.txt"筛选(例:find /目录 -type f -name "*.log" -mtime +10 -delete)。