温馨提示×

debian怎样备份nodejs项目

小樊
45
2026-10-04 15:02:50
栏目: 编程语言

在 Debian 上备份 Node.js 项目,通常包含代码、依赖、配置、数据和运行环境几部分。下面按常见场景给你一套清晰可操作的方案。


一、最基础:备份项目代码和依赖

1. 直接打包项目目录(最简单)

tar -czvf mynodeapp-$(date +%F).tar.gz /path/to/your/nodejs/project

⚠️ 注意:

  • 建议排除 node_modules
  • 排除日志和临时文件
tar --exclude=node_modules \
    --exclude=logs \
    --exclude=.git \
    -czvf mynodeapp.tar.gz /path/to/project

2. 只备份“可重建”的内容(推荐)

Node.js 项目通常只需备份:

  • 源代码
  • package.json
  • package-lock.json 或 yarn.lock
  • 配置文件(.env 等)

恢复时:

npm install

✅ 这是最干净、最安全的方式


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

MySQL

mysqldump -u root -p dbname > dbname.sql

MongoDB

mongodump --db dbname --out /backup/mongo

Redis

redis-cli save
cp /var/lib/redis/dump.rdb /backup/

三、环境变量和配置备份

.env 文件

cp .env /backup/.env.bak

systemd 服务(如果用)

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

四、整机 / 服务器级备份(可选)

1. 使用 rsync 同步到备份机

rsync -avz /path/to/project backupuser@backupserver:/backups/

2. 使用 timeshift(桌面或开发机)

apt install timeshift

3. 使用 restic(推荐生产环境)

apt install restic
restic init --repo /backup/repo
restic backup /path/to/project

五、Docker 部署的 Node.js 项目

如果是 Docker:

  • 备份:
    • docker-compose.yml
    • 挂载的 volumes
    • 镜像(可选)
docker compose ps
docker volume ls

六、推荐的标准备份清单 ✅

内容 是否备份
源代码 ✅
package.json ✅
lock 文件 ✅
.env ✅
node_modules ❌
数据库 ✅
日志 ❌
systemd 配置 ✅

七、示例一键备份脚本

#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/nodeapp

mkdir -p $BACKUP_DIR

tar --exclude=node_modules \
    --exclude=logs \
    -czvf $BACKUP_DIR/app-$DATE.tar.gz /var/www/myapp

mysqldump -u root -p123456 mydb > $BACKUP_DIR/db-$DATE.sql

如果你愿意,可以告诉我:

  • 是否用 Docker / PM2 / systemd
  • 是否接 MySQL / MongoDB
  • 是 开发机还是生产服务器

我可以给你一套完全针对你环境的备份方案。

0 踩