在Ubuntu系统中,Node.js项目备份操作步骤:首先打包代码,然后备份package.json与lock文件,并可选择性备份node_modules目录及数据库。恢复操作时,先解压代码,再重新安装依赖,也可选择性恢复node_modules与数据库,最后验证项目运行是否正常。
Ubuntu下Node.js项目备份与恢复教程
时间:2026-07-27
浏览:224
文章目录
在 Ubuntu 环境下对 Node.js 项目进行备份与恢复,操作流程并不复杂,但需要明确一点:备份不仅是复制代码文件夹那么简单。依赖管理、数据库状态、环境配置等环节缺一不可,否则恢复时可能遇到各种麻烦。

下面从备份开始,逐步梳理流程,再介绍恢复时如何快速还原。
一、备份步骤
1. 备份项目代码
打开终端,进入项目根目录,例如 /home/username/my-nodejs-project。使用 tar 命令打包整个项目文件夹,生成 .tar.gz 压缩文件,代码、配置、目录结构均包含在内:
tar -czvf my-nodejs-project-backup.tar.gz .
该命令会将当前目录下所有内容压缩,操作直接。
2. 备份依赖信息(关键步骤)
Node.js 项目的依赖管理核心是 package.json(依赖列表)和 package-lock.json 或 yarn.lock(精确版本锁定)。这两个文件必须备份,因为恢复时能否安装完全一致的依赖,取决于它们。
# 确保package.json是最新的(若有新增依赖)
npm install
# 备份lock文件(根据使用的包管理器选择其一)
cp package-lock.json /path/to/backup/ # npm用户
# 或
cp yarn.lock /path/to/backup/ # yarn用户
若想备份完整的依赖列表(包含间接依赖),可使用以下命令生成 production-dependencies.json 文件:
npm install --production --json > production-dependencies.json
将此文件一并备份,恢复时更灵活。
3. (可选)备份node_modules文件夹
node_modules 存放所有依赖的实际代码。通常不建议直接备份,因为通过 package.json 重新安装更干净可靠。但若网络环境不佳或下载大包耗时较多,可考虑备份。使用 tar 打包:
cd ..
tar -czvf node_modules-backup.tar.gz my-nodejs-project/node_modules
然后将 node_modules-backup.tar.gz 复制到安全位置。
4. (可选)备份数据库(若项目使用数据库)
若项目连接了 MySQL、MongoDB 等数据库,则数据库备份不能省略。不同数据库的备份命令有所不同,以下列出两种常见类型:
- MySQL/MariaDB:使用
mysqldump导出数据库结构和数据到 SQL 文件:mysqldump -u [username] -p[password] [database_name] > /path/to/backup/db_backup.sql - MongoDB:使用
mongodump导出数据库到指定目录:mongodump --db [database_name] --out /path/to/backup/mongodb_backup/
导出的文件或目录,需复制到安全位置。
5. 存储备份文件
将所有备份文件——代码压缩包、依赖文件、数据库备份——统一存放至安全位置,例如外部硬盘、云存储或专用备份目录:
mv my-nodejs-project-backup.tar.gz /backup/
mv production-dependencies.json /backup/
mv db_backup.sql /backup/ # 若备份了数据库
至此,备份工作完成。
二、恢复步骤
1. 恢复项目代码
将备份的代码压缩包复制到目标目录(可以是原项目目录或新目录),然后使用 tar 解压:
cd /path/to/restore/directory
tar -xzvf my-nodejs-project-backup.tar.gz
解压后,项目代码和目录结构完整还原。
2. 恢复依赖
进入项目目录,根据备份的依赖信息重新安装依赖:
- 若备份了
package-lock.json或yarn.lock,直接运行包管理器命令,即可安装精确版本的依赖:npm install # npm用户 # 或 yarn install # yarn用户 - 若备份了
production-dependencies.json,需自行解析 JSON 文件并手动安装依赖,稍显繁琐。
3. (可选)恢复node_modules文件夹
如果之前备份了 node_modules,将压缩包复制到项目目录并解压即可:
cp /path/to/backup/node_modules-backup.tar.gz .
tar -xzvf node_modules-backup.tar.gz
注意:若已通过 package.json 重新安装依赖,此步可跳过。
4. (可选)恢复数据库
如果备份了数据库,将备份文件复制到目标服务器,然后使用对应命令恢复:
- MySQL/MariaDB:使用
mysql命令导入 SQL 文件:mysql -u [username] -p[password] [database_name] < /path/to/backup/db_backup.sql - MongoDB:使用
mongorestore命令导入备份目录:mongorestore /path/to/backup/mongodb_backup/[database_name]
恢复后,需检查数据库连接配置(如 config/database.js)是否正确,否则项目可能无法连接数据库。
5. 验证恢复结果
最后一步也是最关键的一步——验证。进入项目目录,启动项目检查是否正常运行:
npm start
# 或项目指定的启动命令
确认项目启动正常,功能按预期工作。这一步做扎实,才算真正完成恢复。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。