温馨提示×

怎样备份debian nodejs数据

小樊
40
2026-10-13 11:40:56
栏目: 编程语言

在 Debian 上“备份 Node.js 数据”通常包含几类内容:
Node.js 应用代码、依赖、配置文件、数据库/持久化数据、进程与服务配置。下面按常见场景给你一套可操作的备份方案。


一、明确要备份哪些内容

一般建议备份:

  1. Node.js 项目目录
    • 源码(如 /var/www/myapp)
    • 配置文件(.env、config/*.json)
  2. 依赖(可选)
    • node_modules(体积大,可重新 npm install)
    • package.json / package-lock.json(必备份)
  3. 数据库(如 MongoDB / MySQL / PostgreSQL)
  4. 系统服务配置
    • systemd 服务文件
    • Nginx / PM2 配置
  5. 日志(可选)

二、基础文件备份(tar + rsync)

1. 打包 Node.js 项目

cd /var/www
tar -czf myapp-backup-$(date +%F).tar.gz myapp

2. 使用 rsync 同步到备份服务器

rsync -avz /var/www/myapp user@backup-server:/backup/nodejs/

3. 排除 node_modules(推荐)

tar --exclude=node_modules -czf myapp.tar.gz myapp

三、数据库备份(非常重要)

MySQL / MariaDB

mysqldump -u root -p mydb > mydb-$(date +%F).sql

PostgreSQL

pg_dump mydb > mydb-$(date +%F).sql

MongoDB

mongodump --db mydb --out /backup/mongo-$(date +%F)

四、备份 systemd / PM2 配置

systemd 服务

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

PM2

pm2 save
cp ~/.pm2/dump.pm2 /backup/

五、自动化备份(推荐)

示例:cron 每日备份

crontab -e
0 3 * * * tar -czf /backup/nodejs-$(date +\%F).tar.gz /var/www/myapp

六、Docker 部署的 Node.js(如适用)

docker cp container:/app /backup/app
docker exec container mysqldump -u root -p db > db.sql

或直接备份 volume:

docker run --rm -v myvolume:/data -v /backup:/backup busybox tar czf /backup/vol.tar.gz /data

七、恢复示例

tar -xzf myapp-backup.tar.gz -C /var/www
cd /var/www/myapp
npm install
systemctl restart myapp

如果你能补充说明:

  • 是否使用 Docker / PM2 / Nginx
  • 使用什么 数据库
  • 是 云服务器还是本地

我可以给你一份精确到命令的备份脚本。

0 踩