定期清理Apache日志文件可通过以下方式实现:
使用logrotate工具(推荐)
sudo apt-get install logrotate
)。/etc/logrotate.d/apache2
),设置轮转规则,例如每天轮转、保留30天日志、压缩旧日志:/var/log/apache2/*.log {
daily
rotate 30
compress
missingok
notifempty
create 640 root adm
}
sudo logrotate -d /etc/logrotate.d/apache2
),无误后重启Apache或通过cron定时任务自动运行。编写脚本+定时任务(Cron)
find
命令删除过期日志,例如删除7天前的日志:#!/bin/bash
LOG_DIR="/var/log/apache2"
find "$LOG_DIR" -type f \( -name "access.log*" -o -name "error.log*" \) -mtime +7 -exec rm {} \;
chmod +x 脚本名.sh
。crontab -e
添加每日执行,如0 0 * * * /path/to/脚本名.sh
。手动清理(不推荐长期使用)
/var/log/apache2/
),用find
命令删除指定日志文件,例如:sudo find . -type f -name "access.log.*" -mtime +30 -delete
。注意:操作前建议备份重要日志,确保配置正确以避免误删。优先使用logrotate工具,可自动管理日志轮转与清理,减少人工干预。