发布于2026-07-19 阅读(0)
扫一扫,手机访问
在Linux环境中,Ja va应用程序的日志文件如果不加节制地增长,很快就会把磁盘空间吃光。自动清理日志其实是个常规操作,但很多新手容易在脚本权限和cron配置上翻车。下面直接给出一套经过验证的流程,从脚本编写到定时任务设置,一步到位。
首先创建一个脚本文件,比如命名为 clean_ja va_logs.sh:
#!/bin/bash
# 设置日志文件所在的目录
LOG_DIR="/path/to/your/ja va/logs"
# 设置保留日志的天数
DAYS_TO_KEEP=7
# 删除超过指定天数的日志文件
find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
echo "Ja va logs cleaned up."
这里有两个关键变量需要根据实际环境修改:LOG_DIR 要指向你的Ja va应用日志存放路径,DAYS_TO_KEEP 决定保留多少天的日志。比如想保留最近3天,就改成3。
脚本写完后,必须给它可执行权限,否则系统不会让你运行它:
chmod +x clean_ja va_logs.sh
这一步很容易被忽略,但如果不做,后面cron任务执行时会报“Permission denied”。
接下来用cron来调度这个脚本,让它每天自动执行。先打开cron任务编辑器:
crontab -e
在编辑器里添加一行定时规则。比如希望每天凌晨1点执行清理,就写:
0 1 * * * /path/to/clean_ja va_logs.sh
保存退出后,cron会自动加载新任务。注意这里的路径必须写脚本的绝对路径。
假设你的Ja va应用日志放在 /var/log/myapp 目录下,想保留最近7天的日志。完整操作流程如下:
创建脚本文件:
nano /path/to/clean_ja va_logs.sh
写入以下内容:
#!/bin/bash
LOG_DIR="/var/log/myapp"
DAYS_TO_KEEP=7
find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
echo "Ja va logs cleaned up."
赋予执行权限:
chmod +x /path/to/clean_ja va_logs.sh
设置cron任务:
crontab -e
在编辑器中添加:
0 1 * * * /path/to/clean_ja va_logs.sh
保存并退出编辑器。
配置完成后,每天凌晨1点系统会自动扫描并删除超过7天历史的 .log 文件,日志目录再也不会被撑爆了。如果后续需要调整保留天数,只需改脚本里的 DAYS_TO_KEEP 变量即可。
下一篇:如何分析Golang日志
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8