温馨提示×

怎样备份Ubuntu Nodejs

小樊
34
2026-07-23 13:55:42
栏目: 编程语言

在 Ubuntu 上备份 Node.js 相关内容,一般需要根据你指的是哪一类“备份”来区分。下面按最常见场景给你一套清晰、实用的方案。


一、备份 Node.js 本身(版本和安装方式)

1️⃣ 查看当前 Node.js 信息

node -v
npm -v
which node

常见安装方式:

  • 系统 apt 安装
  • nvm(最推荐)
  • n 工具
  • 官方二进制包

2️⃣ 如果使用的是 NVM(最推荐备份方式)

备份 NVM 及所有 Node 版本

cp -r ~/.nvm ~/nvm-backup

只记录已安装版本(便于恢复)

nvm ls

恢复时:

# 在新系统安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 恢复 nvm 目录
cp -r nvm-backup ~/.nvm

3️⃣ 如果是 apt 安装的 Node.js

sudo apt list --installed | grep node

备份:

sudo cp -r /usr/bin/node /backup/
sudo cp -r /usr/lib/node_modules /backup/

恢复:

sudo apt install nodejs npm

⚠️ 不推荐这种方式用于生产环境备份。


二、备份 Node.js 项目(最常见)

1️⃣ 备份项目代码

tar -czvf my-node-project.tar.gz my-node-project/

或:

rsync -av /var/www/myapp/ /backup/myapp/

2️⃣ 备份依赖(很重要)

cd my-node-project
npm list --depth=0

方式一:直接备份 node_modules

tar -czvf node_modules.tar.gz node_modules

方式二(推荐):备份 package.json 和 lock 文件 只在生产环境恢复:

npm ci

三、备份全局 npm 包

npm list -g --depth=0

导出:

npm list -g --depth=0 > npm-global-packages.txt

恢复:

cat npm-global-packages.txt
npm install -g <package-name>

或使用:

npm ls -g --json > npm-global.json

四、备份环境变量和配置

如果 Node 项目依赖:

1️⃣ .env 文件

cp .env .env.backup

2️⃣ systemd 服务(如用 pm2)

sudo cp /etc/systemd/system/myapp.service /backup/

五、使用 PM2 时的备份

1️⃣ 保存 PM2 进程

pm2 save

2️⃣ 导出进程列表

pm2 dump

恢复:

pm2 resurrect

六、推荐组合(最实用)

开发 / 服务器迁移

~/.nvm
项目代码
package.json + package-lock.json
.env
pm2 dump

只需恢复运行

node -v
npm ci
pm2 resurrect

七、自动化备份(可选)

#!/bin/bash
tar -czvf node-backup-$(date +%F).tar.gz \
~/.nvm \
/var/www/myapp

✅ 总结一句话

Node.js 不需要“备份程序本身”,而是备份:node 版本管理方式 + 项目代码 + 依赖描述 + 环境变量。


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

  • ✅ 你是服务器还是本地?
  • ✅ 用没用 nvm / pm2 / docker
  • ✅ 是为了迁移、重装还是防误删?

我可以给你一个完全定制化的备份方案

0