优化更新
This commit is contained in:
@@ -18,11 +18,11 @@
|
||||
# 使用 mysqldump 备份单个数据库
|
||||
mysqldump -h 127.0.0.1 -u root -p --single-transaction \
|
||||
--routines --triggers --events \
|
||||
djangoadmin.django.elevue > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
djangoadmin.django.naivevue > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
# 压缩备份
|
||||
mysqldump -h 127.0.0.1 -u root -p --single-transaction \
|
||||
djangoadmin.django.elevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
djangoadmin.django.naivevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
```
|
||||
|
||||
:::tip --single-transaction 作用
|
||||
@@ -44,7 +44,7 @@ mysqlbinlog --start-datetime="2026-09-05 00:00:00" \
|
||||
|
||||
:::tip binlog 配置
|
||||
确保 MySQL 配置中启用了 binlog:
|
||||
```ini
|
||||
```bash
|
||||
[mysqld]
|
||||
server-id = 1
|
||||
log-bin = mysql-bin
|
||||
@@ -76,10 +76,10 @@ Redis 用于缓存和 JWT token 黑名单,数据可从数据库重建。建议
|
||||
|
||||
```bash
|
||||
# 打包上传目录
|
||||
tar -czf uploads_$(date +%Y%m%d).tar.gz /data/apps/DjangoAdmin_Django_EleVue/public/uploads/
|
||||
tar -czf uploads_$(date +%Y%m%d).tar.gz /data/apps/DjangoAdmin_Django_NaiveVue/public/uploads/
|
||||
|
||||
# 使用 rsync 增量同步到远程
|
||||
rsync -avz --delete /data/apps/DjangoAdmin_Django_EleVue/public/uploads/ backup@10.0.2.100:/data/backup/uploads/
|
||||
rsync -avz --delete /data/apps/DjangoAdmin_Django_NaiveVue/public/uploads/ backup@10.0.2.100:/data/backup/uploads/
|
||||
```
|
||||
|
||||
## 自动化备份
|
||||
@@ -100,7 +100,7 @@ mkdir -p ${BACKUP_DIR}/{mysql,redis,uploads}
|
||||
|
||||
# MySQL 备份
|
||||
mysqldump -h 127.0.0.1 -u djangoadmin -p'<密码>' \
|
||||
--single-transaction djangoadmin.django.elevue | gzip > \
|
||||
--single-transaction djangoadmin.django.naivevue | gzip > \
|
||||
${BACKUP_DIR}/mysql/backup_${DATE}.sql.gz
|
||||
|
||||
# Redis 备份
|
||||
@@ -110,7 +110,7 @@ cp /var/lib/redis/dump.rdb ${BACKUP_DIR}/redis/redis_${DATE}.rdb
|
||||
|
||||
# 上传文件备份
|
||||
tar -czf ${BACKUP_DIR}/uploads/uploads_${DATE}.tar.gz \
|
||||
/data/apps/DjangoAdmin_Django_EleVue/public/uploads/
|
||||
/data/apps/DjangoAdmin_Django_NaiveVue/public/uploads/
|
||||
|
||||
# 清理过期备份
|
||||
find ${BACKUP_DIR} -type f -mtime +${RETENTION_DAYS} -delete
|
||||
@@ -134,10 +134,10 @@ crontab -e
|
||||
|
||||
```bash
|
||||
# 从 SQL 文件恢复
|
||||
mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue < backup_20260905.sql
|
||||
mysql -h 127.0.0.1 -u root -p djangoadmin.django.naivevue < backup_20260905.sql
|
||||
|
||||
# 从压缩文件恢复
|
||||
gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue
|
||||
gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.naivevue
|
||||
```
|
||||
|
||||
### Redis 恢复
|
||||
|
||||
Reference in New Issue
Block a user