温馨提示×

Debian如何备份Nodejs项目

小樊
37
2026-07-29 13:01:41
栏目: 编程语言

在 Debian 上备份 Node.js 项目,通常不是只备份 Node.js 本身,而是备份项目代码、依赖、配置、数据和环境。下面按常见场景给你一套完整方案,从简单到专业。


一、最基础:备份项目目录(适合小项目)

1️⃣ 备份项目代码和依赖

tar -czvf nodejs-project-$(date +%F).tar.gz /path/to/project

包含内容:

  • 源代码
  • package.json
  • node_modules(可选,但推荐)

⚠️ 如果 node_modules 很大,可跳过,用 npm install 重新生成


2️⃣ 不包含 node_modules(推荐)

tar --exclude=node_modules -czvf nodejs-project-$(date +%F).tar.gz /path/to/project

恢复时:

npm install

二、备份 Node.js 版本(很重要)

1️⃣ 查看当前 Node.js 版本

node -v
npm -v

2️⃣ 使用 nvm(推荐)

如果你用 nvm

nvm list

✅ 备份 nvm 目录:

tar -czvf nvm-backup.tar.gz ~/.nvm

恢复:

tar -xzvf nvm-backup.tar.gz -C ~/

三、备份数据库(如 MongoDB / MySQL)

MongoDB

mongodump --out /backup/mongo-$(date +%F)

MySQL

mysqldump -u user -p dbname > dbname-$(date +%F).sql

四、备份环境变量 / 配置文件

常见文件:

  • .env
  • config/*.json
  • ecosystem.config.js(PM2)
cp .env .env.bak

或统一备份:

tar -czvf config-backup.tar.gz .env ecosystem.config.js

五、备份 PM2 进程(如果使用)

导出 PM2 配置

pm2 save
pm2 list

备份 PM2 启动脚本

pm2 startup

恢复:

pm2 resurrect

六、自动化备份(推荐)

使用 cron 定时备份

crontab -e

每天凌晨 2 点:

0 2 * * * tar -czvf /backup/node-$(date +\%F).tar.gz /var/www/nodeapp

七、Docker 项目(如果你用 Docker)

备份镜像

docker save mynodeapp > mynodeapp.tar

备份 volume 数据

docker cp container:/app /backup/app

八、推荐备份清单 ✅

项目 是否备份
项目源码
package.json
node_modules ❌(可重建)
.env
数据库
Node 版本
PM2 配置

九、恢复示例

tar -xzvf nodejs-project-2026-01-21.tar.gz -C /var/www/
cd /var/www/nodeapp
npm install
pm2 start ecosystem.config.js

如果你愿意,可以告诉我:

  • ✅ 是否使用 PM2 / Docker / systemd
  • ✅ 是否有 数据库
  • ✅ 是 生产环境还是开发环境

我可以帮你定制一套完整备份 + 恢复脚本

0