如何在Debian上恢复Node.js数据
在Debian系统上恢复Node.js数据需遵循解压项目文件→恢复数据库→安装依赖→还原配置→启动应用的核心流程,以下是详细步骤:
pm2(进程管理)、mongorestore(MongoDB恢复)等工具,需提前安装:sudo apt update
sudo apt install -y pm2 mongodb-clients # 根据实际数据库类型调整(如MySQL需安装mysql-client)
pm2 stop <app_name> # 替换<app_name>为你的应用名称(可通过`pm2 list`查看)
my-nodejs-project-backup.tar.gz)复制到需恢复的路径(如/home/user/)。tar命令解压至目标目录:tar -xzvf /path/to/backup/my-nodejs-project-backup.tar.gz -C /home/user/
解压后会生成原项目目录(如/home/user/my-nodejs-project)。若项目使用数据库(如MongoDB、MySQL),需单独恢复数据库数据:
mongorestore /path/to/backup/mongodb # 替换为MongoDB备份目录路径(如`mongodump`生成的文件夹)
mysql -u <username> -p <database_name> < /path/to/backup/database_backup.sql
替换<username>为数据库用户名、<database_name>为目标数据库名、/path/to/backup/...为SQL备份文件路径。package.json文件安装依赖:cd /home/user/my-nodejs-project
npm install
若存在package-lock.json,npm install会严格按锁文件安装指定版本,确保依赖一致性。.env、config/config.js、数据库配置文件)复制回项目目录:cp -r /path/to/backup/.env /home/user/my-nodejs-project/
cp -r /path/to/backup/config /home/user/my-nodejs-project/
pm2启动应用并保持进程守护:pm2 start app.js # 替换`app.js`为你的入口文件(如`index.js`、`server.js`)
pm2 save
pm2 startup
按提示执行生成的命令(如sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u user --hp /home/user)。pm2 list查看应用是否处于online状态。http://localhost:3000)或查看日志,确认数据加载正常:pm2 logs app_name # 查看应用日志
cron定时任务自动执行备份脚本(如每天凌晨2点备份),减少人工操作风险。