工具选择: - BorgBackup:去重、压缩、加密 - Restic:跨平台、支持多种后端 - rsync + cron:简单增量备份
示例BorgBackup配置:
# 安装
sudo apt install borgbackup # Debian/Ubuntu
sudo yum install borgbackup # CentOS/RHEL
# 初始化仓库
borg init --encryption=repokey /path/to/backup/repo
# 创建备份
borg create /path/to/repo::'{hostname}-{now:%Y-%m-%d}' /path/to/backup
# 自动清理旧备份
borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 12 /path/to/repo
选项: - rsync over SSH:简单可靠 - Rclone:支持多种云存储 - Duplicity:加密的增量备份
Rclone示例(备份到S3):
# 配置
rclone config
# 同步
rclone sync /local/path remote:bucket/path --progress
LVM快照:
# 创建快照
lvcreate -L 10G -s -n snap_home /dev/vg00/lv_home
# 挂载快照
mkdir /mnt/snap
mount /dev/vg00/snap_home /mnt/snap
# 移除快照
umount /mnt/snap
lvremove /dev/vg00/snap_home
# 每天凌晨2点执行完整备份
0 2 * * * /usr/bin/borg create /backup/repo::'{hostname}-{now:%Y-%m-%d}' /etc /home >> /var/log/backup.log 2>&1
# 每周日清理旧备份
0 3 * * 0 /usr/bin/borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 12 /backup/repo >> /var/log/backup-prune.log 2>&1
#!/bin/bash
LOG="/var/log/backup-status.log"
STATUS=0
borg create /backup/repo::'{hostname}-{now}' /etc /home >> $LOG || STATUS=1
if [ $STATUS -ne 0 ]; then
echo "Backup failed!" | mail -s "Backup Alert" admin@example.com
fi
通过实施这些策略,您可以建立一个可靠、自动化的高可用备份系统,确保在系统故障时能够快速恢复业务。