在 Debian 上备份 Node.js 项目,通常包含代码、依赖、配置、数据和运行环境几部分。下面按常见场景给你一套清晰可操作的方案。
tar -czvf mynodeapp-$(date +%F).tar.gz /path/to/your/nodejs/project
⚠️ 注意:
node_modulestar --exclude=node_modules \
--exclude=logs \
--exclude=.git \
-czvf mynodeapp.tar.gz /path/to/project
Node.js 项目通常只需备份:
package.jsonpackage-lock.json 或 yarn.lock.env 等)恢复时:
npm install
✅ 这是最干净、最安全的方式
mysqldump -u root -p dbname > dbname.sql
mongodump --db dbname --out /backup/mongo
redis-cli save
cp /var/lib/redis/dump.rdb /backup/
.env 文件cp .env /backup/.env.bak
cp /etc/systemd/system/yourapp.service /backup/
rsync -avz /path/to/project backupuser@backupserver:/backups/
apt install timeshift
apt install restic
restic init --repo /backup/repo
restic backup /path/to/project
如果是 Docker:
docker-compose.ymldocker 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
如果你愿意,可以告诉我:
我可以给你一套完全针对你环境的备份方案。