在 Debian 上备份 Node.js 日志,通常取决于日志写在哪、用什么方式管理。下面按常见场景给你一套实用方案。
常见位置:
/var/log/myapp/logs/~/.pm2/logs/journalctl(不是文件)docker logscp -r /var/log/myapp /backup/myapp-logs-$(date +%F)
tar czf /backup/nodejs-logs-$(date +%F).tar.gz /var/log/myapp
rsync -avz /var/log/myapp/ user@backup-server:/backup/myapp/
适合:
PM2 日志默认在:
~/.pm2/logs/
备份:
tar czf pm2-logs-$(date +%F).tar.gz ~/.pm2/logs
✅ 建议定期清理:
pm2 flush
日志不在文件里,而在 journald。
journalctl -u node-app.service
journalctl -u node-app.service > node-app-logs-$(date +%F).log
journalctl -u node-app.service --output=export > node-app.journal
每天凌晨 2 点备份:
crontab -e
0 2 * * * tar czf /backup/nodejs-logs-$(date +\%F).tar.gz /var/log/myapp
✅ 日志按天切割(logrotate / winston / pino)
✅ 只备份旧日志,正在写的日志可跳过
✅ 备份后保留 7–30 天
✅ 重要服务日志异地备份
如果你愿意,可以告诉我:
我可以直接帮你写现成的备份脚本。