在 Debian 上,Apache 的日志通常位于 /var/log/apache2/ 目录下,常见日志文件包括:
access.log:访问日志error.log:错误日志other_vhosts_access.log:虚拟主机日志(如有)最简单的方式就是复制或下载日志文件:
# 复制日志到当前目录
cp /var/log/apache2/access.log ./apache_access.log
# 打包导出
tar czf apache_logs.tar.gz /var/log/apache2/
如果是远程服务器,可以用 scp:
scp user@server:/var/log/apache2/access.log ./
grep "10/Oct/2024" /var/log/apache2/access.log > access_20241010.log
awk '$4 >= "[10/Oct/2024:10:00:00" && $4 <= "[10/Oct/2024:12:00:00"' \
/var/log/apache2/access.log > access_part.log
Debian 默认会轮转日志:
ls /var/log/apache2/
# access.log
# access.log.1
# access.log.2.gz
导出所有历史日志:
zcat /var/log/apache2/access.log.*.gz > access_all.log
cat /var/log/apache2/access.log >> access_all.log
tail -f /var/log/apache2/access.log > live_access.log
awk '{print $1","$4","$6","$9}' /var/log/apache2/access.log > access.csv
www-data 权限grep 或 awk 过滤cp 正在写入的大文件造成 IO 压力如果你有 具体需求(如:按 IP、按 URL、按状态码导出),可以告诉我,我可以给你更精确的命令。