在 Debian 系统里,Nginx 日志默认由 logrotate 管理,导出方式取决于你是想查看、复制、实时导出还是备份。下面按常见场景说明。
Debian 下通常是:
/var/log/nginx/
常见文件:
access.log:访问日志error.log:错误日志查看:
ls -lh /var/log/nginx/
cp /var/log/nginx/access.log /root/nginx_access.log
tar czf nginx-logs.tar.gz /var/log/nginx/
grep "2025/01/20" /var/log/nginx/access.log > access_20250120.log
按小时:
grep "20/Jan/2025:10:" /var/log/nginx/access.log > access_10.log
tail -f /var/log/nginx/access.log > access_live.log
⚠️ 注意:Ctrl+C 才会停止。
如果 Nginx 是通过 systemd 启动的:
journalctl -u nginx > nginx_systemd.log
查看最近 100 行:
journalctl -u nginx -n 100
cp /var/log/nginx/access.log /backup/access_$(date +%F).log
truncate -s 0 /var/log/nginx/access.log
或:
echo > /var/log/nginx/access.log
查看配置:
cat /etc/logrotate.d/nginx
手工执行一次轮转:
logrotate -f /etc/logrotate.d/nginx
scp /var/log/nginx/access.log user@remote:/data/logs/
| 需求 | 命令 |
|---|---|
| 查看日志 | less /var/log/nginx/access.log |
| 导出某天 | grep "2025/01/20" access.log > out.log |
| 实时导出 | tail -f access.log > out.log |
| 清空日志 | truncate -s 0 access.log |
| 打包 | tar czf nginx-logs.tar.gz /var/log/nginx/ |
如果你能说明:
我可以给你更精确的命令或脚本。