本文目录导读:

当然可以,以下是一个基于 Shell 脚本(适用于 Linux/Unix 系统)的通用方法,用于自动清理 3 天前的旧日志文件,脚本会删除修改时间早于 3 天的 .log 文件(或指定模式的文件)。
脚本示例:clean_old_logs.sh
#!/bin/bash
# 定义日志目录(根据需要修改)
LOG_DIR="/var/log/myapp"
# 定义日志文件匹配模式(*.log 或 *.txt 等)
FILE_PATTERN="*.log"
# 定义保留天数(3天前的文件将被删除)
DAYS_OLD=3
# 检查目录是否存在
if [ ! -d "$LOG_DIR" ]; then
echo "错误:目录 $LOG_DIR 不存在"
exit 1
fi
# 查找并删除指定天数前的文件
find "$LOG_DIR" -type f -name "$FILE_PATTERN" -mtime +"$DAYS_OLD" -exec rm -f {} \;
# 可选:删除空目录(如果日志文件按日期分文件夹)
# find "$LOG_DIR" -type d -empty -delete
echo "已清理 $LOG_DIR 中 $DAYS_OLD 天前的 $FILE_PATTERN 文件。"
使用方法
-
保存脚本
将上述代码保存为clean_old_logs.sh。 -
赋予执行权限
chmod +x clean_old_logs.sh
-
手动测试运行(建议先加
-print看看会删除哪些文件,确认无误后再执行删除)# 仅查看会删除哪些文件(不实际删除) find /var/log/myapp -type f -name "*.log" -mtime +3 -print # 实际删除 ./clean_old_logs.sh
-
设置定时任务(cron)
使用crontab -e添加一行,例如每天凌晨 2 点执行:0 2 * * * /path/to/clean_old_logs.sh > /dev/null 2>&1
重要说明
- 风险提示:
-exec rm -f {} \;会直接删除文件,请务必先在测试环境验证,或先用-print预览。 - 修改时间 vs 创建时间:
-mtime基于文件的最后修改时间,如果日志文件被持续写入,最后修改时间会不断更新,这可能导致文件永远不会被删除(如果你希望删除“创建时间”早于 3 天的文件,需使用-ctime或通过stat处理,但通常-mtime更符合实际需求)。 - 日志文件压缩:如果你有
.gz等压缩文件,可调整FILE_PATTERN或单独处理。 - 跨平台:该脚本基于 GNU find(Linux 标准),macOS 的 find 略有不同(
-mtime行为一致),但若使用-delete参数,macOS 的 find 也支持。
扩展:Windows 系统(PowerShell 脚本)
如果你在 Windows 上管理日志文件,可以使用 PowerShell:
# 定义路径和天数
$logPath = "C:\Logs"
$daysOld = 3
$filePattern = "*.log"
Get-ChildItem -Path $logPath -Filter $filePattern -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$daysOld) } |
Remove-Item -Force -Verbose
将脚本保存为 .ps1 文件,通过任务计划程序定时运行(注意 PowerShell 执行策略设置)。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播