Debian Node.js 备份与恢复策略
一 备份范围与分层
二 备份策略与工具
tar -czvf project-$(date +%F).tar.gz -C /path/to/project .;恢复:tar -xzvf project-*.tar.gz -C /opt/app && npm ci --only=production。rsync -av --delete /src/ user@backup:/dst/;适合按日/小时做增量同步与快速回滚。mysqldump -u[user] -p[pass] --single-transaction --routines --triggers --hex-blob [db] > backup.sqlpg_dump -U[user] -F c -b -v -f backup.dump [db]mongodump --db [db] --out /backup/mongo/$(date +%F)/var/log/nodejs/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
systemctl reload pm2-<app>.service >/dev/null 2>&1 || true
endscript
}
如需归档到备份目录,可配合简单脚本每日打包并同步到远端。三 恢复流程与演练
npm ci --only=production 还原精确依赖。mysql < backup.sql、pg_restore -d [db] backup.dump、mongorestore --db [db] /backup/mongo/...)。pm2 startOrRestart ecosystem.config.js),检查端口、进程、关键业务自检接口。四 安全与运维要点
systemctl reload pm2-<app>.service 或 pm2 reload <app> 发送信号,确保日志句柄平滑切换。