access_log很大,没有归档。怎么重置呢?

时间:2010-05-14 08:21:53

标签: apache access-log

我发现我的access_log占用了我的大部分硬盘。它的大小超过200 GB。我该如何重置它?

我在使用Plesk的CentOS服务器上使用Apache 2.2.3。

谢谢你们!

8 个答案:

答案 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。