Ubuntu上Node.js应用如何备份与恢复
导读:Ubuntu上Node.js应用备份与恢复指南 一、备份步骤 1. 备份项目代码 使用tar命令将Node.js项目目录打包为压缩文件(包含所有源代码、配置文件和package.json/package-lock.json): cd /pa...
Ubuntu上Node.js应用备份与恢复指南
一、备份步骤
1. 备份项目代码
使用tar命令将Node.js项目目录打包为压缩文件(包含所有源代码、配置文件和package.json/package-lock.json):
cd /path/to/your/nodejs/project # 进入项目目录
tar -czvf project-backup.tar.gz . # 打包当前目录所有内容
将生成的project-backup.tar.gz复制到安全位置(如外部硬盘、云存储或/home/username/backups目录)。
2. 备份项目依赖
通过package.json文件记录项目依赖,无需单独备份node_modules(恢复时可通过npm install重新安装)。若需备份依赖列表,可生成生产环境依赖JSON文件:
npm install --production --json >
production-dependencies.json
将此文件与代码备份一同存储。
3. 备份数据库(若有)
若应用使用数据库(如MySQL、MongoDB),需单独备份数据库文件:
- MySQL:使用
mysqldump导出数据库结构和数据:mysqldump -u [username] -p[password] [database_name] > db_backup.sql - MongoDB:使用
mongodump导出数据库:mongodump --db [database_name] --out /path/to/backup/directory
将导出的SQL或dump文件复制到安全位置。
4. 自动化备份(可选)
通过脚本+定时任务实现定期自动备份:
- 编写备份脚本(如
backup.sh):赋予执行权限:#!/bin/bash BACKUP_DIR="/path/to/backup" DATE=$(date +"%Y%m%d_%H%M%S") tar -czvf "$BACKUP_DIR/project_$DATE.tar.gz" /path/to/your/nodejs/project mysqldump -u [username] -p[password] [database_name] > "$BACKUP_DIR/db_$DATE.sql"chmod +x backup.sh。 - 设置定时任务:使用
crontab -e添加规则(如每天凌晨2点执行):0 2 * * * /path/to/backup.sh
5. 使用rsync增量备份(可选)
若需增量备份(仅备份修改过的文件),可使用rsync工具:
rsync -avz --delete /path/to/your/nodejs/project /path/to/backup/directory
-a:归档模式(保留权限、时间戳等);-v:显示详细信息;--delete:删除备份目录中不存在于源目录的文件(保持同步)。
二、恢复步骤
1. 恢复项目代码
将备份的project-backup.tar.gz复制到目标服务器的项目目录,解压恢复:
cd /path/to/your/nodejs/project # 进入目标项目目录
tar -xzvf project-backup.tar.gz # 解压覆盖现有文件
2. 恢复项目依赖
若未备份node_modules,需重新安装依赖:
npm install # 根据package.json安装所有依赖
若备份了production-dependencies.json,可使用以下命令快速安装生产环境依赖:
npm install --production --json <
production-dependencies.json
3. 恢复数据库(若有)
- MySQL:导入备份的SQL文件:
mysql -u [username] -p[password] [database_name] < db_backup.sql - MongoDB:导入dump文件:
mongorestore /path/to/backup/directory/database_name
4. 验证恢复
- 检查项目目录结构、源代码和配置文件是否完整;
- 运行
npm start或node app.js启动应用,测试功能是否正常; - 检查数据库连接和数据是否恢复成功。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上Node.js应用如何备份与恢复
本文地址: https://pptw.com/jishu/744323.html
