在CentOS系统上对Node.js项目进行备份和恢复,可以遵循以下步骤:
备份代码:
tar命令将项目目录打包。tar -czvf project-backup-$(date +%Y%m%d%H%M%S).tar.gz /path/to/your/project
备份数据库:
mysqldump -u username -p database_name > database_backup.sql
pg_dump -U username -d database_name > database_backup.sql
备份配置文件:
.env文件或其他配置目录。tar -czvf config-backup-$(date +%Y%m%d%H%M%S).tar.gz /path/to/your/config
备份日志文件:
tar -czvf logs-backup-$(date +%Y%m%d%H%M%S).tar.gz /path/to/your/logs
恢复代码:
tar -xzvf project-backup-YYYYMMDDHHMMSS.tar.gz -C /
恢复数据库:
mysql或psql命令恢复数据库。mysql -u username -p database_name < database_backup.sql
psql -U username -d database_name -f database_backup.sql
恢复配置文件:
tar -xzvf config-backup-YYYYMMDDHHMMSS.tar.gz -C /
恢复日志文件:
tar -xzvf logs-backup-YYYYMMDDHHMMSS.tar.gz -C /
为了简化备份过程,可以使用cron作业定期执行备份脚本。
创建备份脚本:
创建一个名为backup.sh的脚本文件:
#!/bin/bash
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date +%Y%m%d%H%M%S)
PROJECT_DIR="/path/to/your/project"
CONFIG_DIR="/path/to/your/config"
LOGS_DIR="/path/to/your/logs"
mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/project-backup-$DATE.tar.gz $PROJECT_DIR
tar -czvf $BACKUP_DIR/config-backup-$DATE.tar.gz $CONFIG_DIR
tar -czvf $BACKUP_DIR/logs-backup-$DATE.tar.gz $LOGS_DIR
mysqldump -u username -p database_name > $BACKUP_DIR/database_backup-$DATE.sql
# 或者对于PostgreSQL
# pg_dump -U username -d database_name > $BACKUP_DIR/database_backup-$DATE.sql
设置脚本权限:
chmod +x backup.sh
添加cron作业:
编辑crontab文件以定期执行备份脚本:
crontab -e
添加一行,例如每天凌晨2点执行备份:
0 2 * * * /path/to/backup.sh
通过以上步骤,你可以有效地备份和恢复CentOS系统上的Node.js项目。