在 CentOS 上导出 Apache 日志,通常只是把日志文件复制/下载出来,或按需过滤后导出。下面按常见场景说明。
默认路径一般是:
# 错误日志
/var/log/httpd/error_log
# 访问日志
/var/log/httpd/access_log
如果你用的是 CentOS 8 + Apache (httpd),路径通常一样。
如果你改过配置,可查看:
grep -R "CustomLog\|ErrorLog" /etc/httpd/conf*
cp /var/log/httpd/access_log /root/access_log.bak
scp root@服务器IP:/var/log/httpd/access_log ./
grep "10/Apr/2024" /var/log/httpd/access_log > access_20240410.log
grep "192.168.1.100" /var/log/httpd/access_log > ip_access.log
grep " 404 " /var/log/httpd/access_log > not_found.log
awk '$4 >= "[10/Apr/2024:10:00:00" && $4 <= "[10/Apr/2024:11:00:00"' \
/var/log/httpd/access_log > time_range.log
如果日志很大:
gzip -c /var/log/httpd/access_log > access_log.gz
或打包多个:
tar zcvf httpd_logs.tar.gz /var/log/httpd/
CentOS 默认会轮转:
ls /var/log/httpd/
可能有:
access_log-20240401.gz
error_log-20240325
需要历史日志也要一起导出。
检查:
cat /etc/logrotate.d/httpd
如果提示 Permission denied:
sudo su -
或
sudo cp /var/log/httpd/access_log /tmp/
如果你能告诉我:
我可以直接给你一条可用命令。