发布于2026-07-16 阅读(0)
扫一扫,手机访问
管理Apache日志,说难不难,但日志文件如果不加控制,迟早会把磁盘撑爆。这时候,logrotate就是那个能帮你自动打理日志的“老管家”。它自动压缩、轮转、清理旧日志,省心又省力。下面我就把整套配置思路拆开讲清楚,跟着走一遍就能搞定。

先确保logrotate已经装好
大多数Linux发行版默认都装了,但如果没有,补上也很简单:
sudo apt-get install logrotatesudo yum install logrotate装完就万事大吉,接下来是配置环节。
找到或创建Apache的logrotate配置文件
通常配置文件放在 /etc/logrotate.d/apache2 或 /etc/logrotate.d/httpd,具体看你的发行版。直接编辑一个现成的,或者新建一个都行:
sudo nano /etc/logrotate.d/apache2填入核心配置
打开文件后,把下面这段配置贴进去——当然,你也可以根据实际需求微调参数:
/var/log/apache2/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
sharedscripts
postrotate
if /etc/init.d/apache2 status > /dev/null ; then \
/etc/init.d/apache2 reload > /dev/null; \
fi;
endscript
}
这些参数是什么意思?我们挨个拆解一下:
daily:每天轮转一次,如果你希望按周或按月,改成 weekly 或 monthly 就行。missingok:日志文件万一丢了,别报错,继续往下走。rotate 7:保留最近7个轮转后的日志文件,更早的自动删除。compress:旧日志压缩成.gz格式,省空间。notifempty:如果日志文件是空的,那就别轮转了,省得生成一堆空文件。create 640 root adm:轮转后创建新的空日志文件,权限640,属主root,属组adm。sharedscripts:如果/var/log/apache2/下有多个日志文件,后面的postrotate脚本只执行一次,而不是每个文件都执行一遍。postrotate ... endscript:轮转完成后,让Apache重新加载配置,确保写日志到新文件里去。这里用的是 reload,不会中断服务。测试配置是否有误
写完配置别急着走,先跑一条命令验证一下:
sudo logrotate -f /etc/logrotate.conf
这条命令会强制触发一次logrotate,如果配置有问题,终端会直接报错,方便你及时调整。
确认定时任务在跑
logrotate日常靠cron驱动,一般每天执行一次。检查一下 /etc/cron.daily/logrotate 这个文件是否存在,内容是否正常。只要它存在,系统就会自动在每天凌晨调用logrotate,无需你手动干预。
到这里,Apache日志轮转策略就配置完成了。以后日志文件会按天自动切分、压缩、清理,磁盘空间再也不会被日志悄悄吃掉。当然,如果业务量特别大,rotate 7 可以改成更大的数字,daily 也可以换成 hourly(需要额外配置cron),自由度很高。核心思路就是这些,上手试一次,后面就一劳永逸了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8