在CentOS上备份和恢复Node.js项目,可以遵循以下步骤:
备份代码:
tar命令将项目目录打包成一个压缩文件。tar -czvf project_backup.tar.gz /path/to/your/nodejs/project
这会将你的项目目录打包成project_backup.tar.gz文件。
备份数据库(如果项目使用数据库):
mysqldump命令。mysqldump -u username -p database_name > database_backup.sql
mongodump命令。mongodump --db database_name --out /path/to/backup/directory
备份配置文件:
.env文件、config.json等。cp -r /path/to/your/nodejs/project/config /path/to/backup/config_backup
备份依赖包:
node_modules目录。tar -czvf node_modules_backup.tar.gz /path/to/your/nodejs/project/node_modules
备份其他重要文件:
恢复代码:
tar -xzvf project_backup.tar.gz -C /path/to/restore/location
恢复数据库(如果项目使用数据库):
mysql命令。mysql -u username -p database_name < database_backup.sql
mongorestore命令。mongorestore /path/to/backup/directory/database_name
恢复配置文件:
cp -r /path/to/backup/config_backup /path/to/your/nodejs/project/config
恢复依赖包:
node_modules目录。tar -xzvf node_modules_backup.tar.gz -C /path/to/your/nodejs/project
恢复其他重要文件:
你可以使用cron作业来自动化备份过程。例如,每天凌晨2点执行备份脚本:
创建一个备份脚本backup.sh:
#!/bin/bash
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date +%Y%m%d%H%M%S)
PROJECT_DIR="/path/to/your/nodejs/project"
mkdir -p $BACKUP_DIR/$DATE
tar -czvf $BACKUP_DIR/$DATE/project_backup.tar.gz $PROJECT_DIR
mysqldump -u username -p database_name > $BACKUP_DIR/$DATE/database_backup.sql
mongodump --db database_name --out $BACKUP_DIR/$DATE/database_backup
cp -r $PROJECT_DIR/config $BACKUP_DIR/$DATE/config_backup
tar -czvf $BACKUP_DIR/$DATE/node_modules_backup.tar.gz $PROJECT_DIR/node_modules
赋予脚本执行权限:
chmod +x backup.sh
编辑cron作业:
crontab -e
添加以下行:
0 2 * * * /path/to/backup.sh
这样,你的Node.js项目就会每天自动备份到指定的目录中。