Ubuntu下Node.js项目备份与恢复指南
打开终端,使用cd命令导航到项目根目录(如/home/username/my-nodejs-project)。通过tar命令将项目文件夹打包为.tar.gz压缩文件(包含所有代码、配置文件及目录结构):
tar -czvf my-nodejs-project-backup.tar.gz . 该命令会将当前目录下的所有内容压缩到my-nodejs-project-backup.tar.gz文件中。
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 将生成的文件一并备份。
node_modules文件夹包含项目所有依赖的实际代码,但通常不建议备份(因可通过package.json重新安装)。若需备份(如避免依赖下载时间过长),可使用tar命令:
cd .. tar -czvf node_modules-backup.tar.gz my-nodejs-project/node_modules 将node_modules-backup.tar.gz复制到安全位置。
若项目连接MySQL、MongoDB等数据库,需单独备份数据库文件。以下是常见数据库的备份命令:
mysqldump导出数据库结构和数据到SQL文件:mysqldump -u [username] -p[password] [database_name] > /path/to/backup/db_backup.sql mongodump导出数据库到指定目录:mongodump --db [database_name] --out /path/to/backup/mongodb_backup/ 将生成的SQL文件或目录复制到安全位置。
将所有备份文件(代码压缩包、依赖文件、数据库备份)复制到安全位置(如外部硬盘、云存储或专用备份目录):
mv my-nodejs-project-backup.tar.gz /backup/ mv production-dependencies.json /backup/ mv db_backup.sql /backup/ # 若备份了数据库 将备份的代码压缩包复制到目标目录(如原项目目录或新目录),使用tar命令解压缩:
cd /path/to/restore/directory tar -xzvf my-nodejs-project-backup.tar.gz 解压后会还原项目的所有代码和目录结构。
进入项目目录,根据备份的依赖信息重新安装依赖:
package-lock.json/yarn.lock:直接运行包管理器命令即可安装精确版本的依赖:npm install # npm用户 # 或 yarn install # yarn用户 production-dependencies.json:需通过脚本或手动方式安装依赖(需自行解析JSON文件)。若备份了node_modules,可将压缩包复制到项目目录并解压缩:
cp /path/to/backup/node_modules-backup.tar.gz . tar -xzvf node_modules-backup.tar.gz 注意:若已通过package.json重新安装依赖,此步骤可省略。
若备份了数据库,需将备份文件复制到目标服务器,使用对应命令恢复:
mysql命令导入SQL文件:mysql -u [username] -p[password] [database_name] < /path/to/backup/db_backup.sql mongorestore命令导入备份目录:mongorestore /path/to/backup/mongodb_backup/[database_name] 恢复后需检查数据库连接配置(如config/database.js)是否正确。
进入项目目录,运行项目以验证恢复是否成功:
npm start # 或项目指定的启动命令 检查项目是否能正常启动,功能是否正常。