在 Debian 系统上,Apache 的日志默认位于 /var/log/apache2/ 目录中。下面分几种常见方式来“导出”这些日志(查看、复制、下载或备份)。
/var/log/apache2/
├── access.log # 访问日志
├── error.log # 错误日志
├── other_vhosts_access.log
如果你启用了虚拟主机,还会有类似:
example.com-access.log
example.com-error.log
sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log
sudo tail -n 100 /var/log/apache2/access.log
less 查看sudo less /var/log/apache2/error.log
cp /var/log/apache2/access.log ~/
cp /var/log/apache2/error.log ~/
如果权限不足:
sudo cp /var/log/apache2/access.log ~/
sudo chown $USER:$USER ~/access.log
sudo tar czvf apache-logs.tar.gz /var/log/apache2/
解压:
tar xzvf apache-logs.tar.gz
scp在本地电脑执行:
scp user@server_ip:/var/log/apache2/access.log ./
grep "$(date '+%d/%b/%Y')" /var/log/apache2/access.log > today-access.log
awk -v d1="$(date -d '1 hour ago' '+%d/%b/%Y:%H')" '$4 ~ d1' access.log
sudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log
⚠️ 不建议直接删除日志文件,否则 Apache 可能继续写入已删除的 inode。
Debian 默认已启用:
/etc/logrotate.d/apache2
查看:
cat /etc/logrotate.d/apache2
可以自动:
grep -R "CustomLog\|ErrorLog" /etc/apache2/
sudo -i
cd /var/log/apache2
或:
sudo usermod -aG adm $USER
(重新登录后生效)
如果你能说明:
我可以给你更精准的命令或脚本。