命令行
使用以下命令删除六小时及以上日志:
bash
find /var/log/ -type f -mtime +6 -delete
脚本
创建以下脚本 delete_old_logs.sh :
bash
!/bin/bash
设定日志路径
LOG_DIR=/var/log/
删除六小时及以上日志
find ${LOG_DIR} -type f -mtime +6 -delete
将其设为可执行:
bash
chmod +x delete_old_logs.sh
接着,定期运行脚本,如使用crontab:
bash
crontab -e
添加以下行:
0 0 * * * /path/to/delete_old_logs.sh
Logrotate
Logrotate是一种日志管理工具,可以定期删除旧日志。创建如下配置文件 /etc/logrotate.d/my_logs :
/var/log/*.log {
rotate 20
daily
compress
dateext
maxage 24h
}
其中:
* rotate 20 :保留20个日志文件
* daily :每天旋转日志
* compress :压缩旧日志
* dateext :在日志文件名称中添加日期扩展名
* maxage 24h :删除超过24小时的旧日志
Logwatch
Logwatch是一种日志分析工具,也可用于删除旧日志。配置Logwatch按以下方式删除六小时及以上日志:
在 /etc/logwatch/conf/logwatch.conf 文件中添加以下行:
Options = deleteafter=6h
意味着在日志文件创建六小时后删除日志文件。