| 类型 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 全量备份 | 完整复制所有数据 | 恢复简单 | 耗时长、空间大 |
| 增量备份 | 备份上次备份后的变化 | 快速、节省空间 | 恢复需遍历链 |
| 差异备份 | 备份上次全量后的变化 | 恢复比增量快 | 随时间变大 |
# 本地同步
rsync -avz /source/ /dest/
# 远程同步
rsync -avz -e ssh /source/ user@remote:/dest/
# 增量备份脚本
rsync -avz --delete --link-dest=../latest \
/data/ backups/$(date +%Y%m%d)/
# 创建加密备份
tar -czf - /data | openssl enc -aes-256-cbc -salt -out backup.tar.gz.enc
# 恢复
openssl enc -aes-256-cbc -d -in backup.tar.gz.enc | tar -xzf -
# 逻辑备份
mysqldump --single-transaction --routines --triggers \
-u user -p database | gzip > db_$(date +%Y%m%d).sql.gz
# 物理备份 (Percona XtraBackup)
xtrabackup --backup --target-dir=/backup/mysql/
pg_dump -U user database | gzip > db_$(date +%Y%m%d).sql.gz
pg_basebackup -D /backup/pg_base/
lvcreate -L 10G -s -n snap_data /dev/vg_data/lv_data
mount /dev/vg_data/snap_data /mnt/snap
# 从 /mnt/snap 复制数据
umount /mnt/snap
lvremove /dev/vg_data/snap_data
# 校验完整性
sha256sum backup.tar.gz > backup.tar.gz.sha256
sha256sum -c backup.tar.gz.sha256
# 定期恢复演练
# 1. 在隔离环境恢复备份
# 2. 验证数据完整性
# 3. 记录恢复时间