我发现我的access_log占用了我的大部分硬盘。它的大小超过200 GB。我该如何重置它?
我在使用Plesk的CentOS服务器上使用Apache 2.2.3。
谢谢你们!
答案 0 :(得分:15)
knx'answer很好,但我建议重命名日志,并创建一个新日志,以便您可以重新启动apache而无需等待访问日志被压缩,如果它很大,可能需要一段时间。< / p>
需要访问ssh
首先,重命名当前日志文件:
mv /var/log/apache/access.log /var/log/apache/access.log.1
其次,创建一个新的日志文件,并提供与原始文件相同的权限,所有者/组和selinux上下文:
touch /var/log/apache/access.log
chown --reference=/var/log/apache/access.log.1 /var/log/apache/access.log
chmod --reference=/var/log/apache/access.log.1 /var/log/apache/access.log
restorecon --reference=/var/log/apache/access.log.1 /var/log/apache/access.log
(可能需要成为root用户)
接下来,重启apache
然后Gzip旧文件(文本文件压缩比非常好)。如果我们假设文件名为/var/log/apache/access.log
,那么请执行以下操作:
gzip -c /var/log/apache/access.log.1 > /var/log/apache/access.log.1.gz
这4个点是logrotate自动执行的操作。
答案 1 :(得分:7)
如果您可以通过SSH访问服务器,则可以:
1)Gzip旧文件(文本文件压缩比非常好)。如果我们假设该文件名为/var/log/apache/access.log,那么请执行以下操作:
gzip -c /var/log/apache/access.log > /var/log/apache/access.log.gz
2)清除当前文件
echo > /var/log/apache/access.log
3)重启apache
此外,Dez建议考虑将logrotate用于生产级别的apache日志存档。
答案 2 :(得分:5)
使用logrotate守护程序以便对日志进行全面维护,特别是与apache相关的日志。
有关logrotate的简要信息:http://www.scriptinstallation.in/logrotate.html
答案 3 :(得分:2)
我知道这篇文章已经很久了,但是我遇到了同样的问题而没有正确的答案。
关键是apache根据其配置将文件创建为access_log
。但是,logrotate仅查找*.log
,因此名称与搜索模式不匹配。
解决方案:您可以将*_log
添加到logrotate配置,或者更改apache配置以使其创建名为access.log
的日志文件。更改apache配置需要重新加载apache。
答案 4 :(得分:1)
如果在Ubuntu上执行:
sudo su
cd /var/log/apache2
rm access.log
rm error.log
touch access.log
创建访问日志时,它也会神奇地启动错误日志。
答案 5 :(得分:1)
一个简单的解决方案是禁用 access_log,只在配置文件上注释一行。
来源:https://www.mydigitallife.info/how-to-disable-and-turn-off-apache-httpd-access-and-error-log/
对于Plesk用户: https://stackoverflow.com/a/41000240/1792240
答案 6 :(得分:0)
将文件重命名为不同的文件名,并使用名称access_log创建新文件并重新启动apache(否则apache会保持对文件的锁定并且不“看到”文件更改)
答案 7 :(得分:0)
重命名文件,创建一个新的access_log,然后重新启动Apache。