我发现我的 access_log 占用了我的大部分硬盘。它的大小超过 200 GB。我怎样才能重置它?
我在带有 Plesk 的 CentOS 服务器上使用 Apache 2.2.3。
感谢你们 !
我发现我的 access_log 占用了我的大部分硬盘。它的大小超过 200 GB。我怎样才能重置它?
我在带有 Plesk 的 CentOS 服务器上使用 Apache 2.2.3。
感谢你们 !
knx'answer很好,但我建议重命名日志,并创建一个新的,这样你就可以重新启动apache而无需等待访问日志被压缩,如果它很大可能需要一段时间。
需要访问 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 自动执行的操作。
如果您可以通过 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)重启阿帕奇
此外,正如 Dez 建议的那样,考虑将 logrotate 用于生产级 apache 日志归档。
使用 logrotate 守护进程可以干净地维护您的日志,特别是 apache 相关的日志。
关于 logrotate 的简要信息:http ://www.scriptinstallation.in/logrotate.html
如果在 Ubuntu 上执行:
sudo su
cd /var/log/apache2
rm access.log
rm error.log
touch access.log
创建该访问日志时,它也会神奇地启动错误日志。
我知道这篇文章已经很久了,但我也遇到了同样的问题,没有答案能正确涵盖它。
关键是 apacheaccess_log
根据其配置将文件创建为 。但是,logrotate 只查找*.log
,因此名称与搜索模式不匹配。
解决方案:要么添加*_log
到 logrotate 配置,要么更改 apache 配置以使其创建名为access.log
. 更改 apache 配置需要重新加载 apache。
一个简单的解决方案是禁用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
重命名文件,创建新的 access_log,然后重新启动 Apache。
将文件重命名为不同的文件名并创建名为 access_log 的新文件并重新启动 apache(否则 apache 会锁定文件并且不会“看到”文件更改)