Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 系統備份神器 backup-manager 部署與配置實戰

編輯:關於 Linux

數據備份是運維工作的生命線。backup-manager 作為一款輕量級、配置簡單、支援多協議遠程傳輸的命令行備份工具,憑藉「開箱即用、一勞永逸」的特性,成為中小規模 Linux 環境備份的首選。本文從安裝、核心配置、多協議遠程推送、數據庫備份、加密策略五個維度,手把手教您構建企業級備份體系。

backup-manager 配置向導界面

核心優勢速覽

  • 極簡配置:單文件 /etc/backup-manager.conf 管理所有策略,語義化變量名零門檻上手
  • 全自動化:配合 cron 實現定時增量/全量備份,無需人工干預
  • 多協議傳輸:原生支援 FTP、SCP、SSH-GPG、rsync、AWS S3 等 10+ 遠程後端
  • 數據庫原生支援:內建 MySQL/MariaDB、PostgreSQL 熱備份邏輯,無需編寫額外腳本
  • 端到端加密:GPG 對稱/非對稱加密保護數據機密性

安裝部署

Debian/Ubuntu 系列

apt update && apt install backup-manager
# 安裝向導會詢問備份存儲目錄、備份源目錄,可後續修改配置文件

RHEL/CentOS/Fedora 系列

# 需啟用 EPEL 倉庫
yum install epel-release -y
yum install backup-manager -y

核心配置實戰:多目標遠程備份架構

場景:每週對 /etc、/home、/var/log 全量備份,通過 SSH 推送至兩台異地服務器 dev1、dev3,同步備份本地 MySQL 數據庫,啟用 GPG 加密。

編輯主配置文件

vim /etc/backup-manager.conf

關鍵變量配置解析

# === 基礎存儲 ===
export BM_REPOSITORY_ROOT="/var/archives"          # 本地暫存目錄
export BM_TEMP_DIR="/tmp"                          # 臨時工作目錄

# === 備份源 ===
export BM_TARBALL_DIRECTORIES="/etc /home /var/log"  # 空格分隔多目錄
export BM_TARBALL_NAMEFORMAT="long"                # 含主機名/時間戳的長文件名
export BM_TARBALL_FILETYPE="tar.gz"                # 壓縮格式

# === MySQL 備份 ===
export BM_MYSQL_DATABASES="__ALL__"                # 備份所有數據庫
export BM_MYSQL_ADMINUSER="root"
export BM_MYSQL_ADMINPASS="your_mysql_root_pass"
export BM_MYSQL_FILETYPE="sql.gz"

# === PostgreSQL 備份 ===
export BM_PGSQL_DATABASES="__ALL__"
export BM_PGSQL_ADMINUSER="postgres"

# === 加密配置 ===
export BM_ENCRYPTION="gpg"                         # 啟用 GPG 加密
export BM_ENCRYPTION_RECIPIENT="backup-admin@example.com"  # 接收者公鑰郵箱

# === 遠程上傳 (SSH/SCP) ===
export BM_UPLOAD_METHOD="scp"
export BM_UPLOAD_HOSTS="dev1 dev3"                 # 多目標空格分隔
export BM_UPLOAD_DESTINATION="/mnt/backups/$(hostname)"
export BM_UPLOAD_SSH_USER="backup-user"
export BM_UPLOAD_SSH_KEY="/root/.ssh/id_rsa_backup"  # 密鑰認證,免密碼
export BM_UPLOAD_SSH_PORT=22

# === 清理策略 ===
export BM_TARBALL_TTL="30"                         # 本地保留 30 天
export BM_UPLOAD_TTL="90"                          # 遠程保留 90 天

GPG 金鑰管理與免密認證

  1. 生成備份專用密鑰對:gpg --full-generate-key(選 RSA 4096bit,無過期)
  2. 導出公鑰分發至遠程服務器:gpg --export -a "backup-admin@example.com" > backup.pub
  3. 遠程服務器導入公鑰:gpg --import backup.pub
  4. 配置 SSH 密鑰認證:ssh-copy-id -i ~/.ssh/id_rsa_backup backup-user@dev1

定時任務接管

# 查看預設 cron 任務(安裝自動創建)
cat /etc/cron.daily/backup-manager

# 或自定義排程(如每天凌晨 2:30 執行)
echo '30 2 * * * root /usr/sbin/backup-manager' > /etc/cron.d/backup-manager-custom

驗證與恢復演練

# 手動觸發備份測試
backup-manager --verbose

# 恢復單個文件
tar -xzf /var/archives/hostname-etc-20240115.tar.gz -C /tmp/restore etc/nginx/nginx.conf

# 恢復 MySQL 數據庫
zcat /var/archives/hostname-mysql-20240115.sql.gz | mysql -u root -p dbname

備份目錄選擇界面

進階優化建議

  • 增量備份:設置 BM_TARBALL_INCREMENTAL="true" 配合 BM_TARBALL_INCREMENTAL_FREQUENCY="7" 實現週全量+日增量
  • 並行壓縮:安裝 pigz,設置 BM_TARBALL_COMPRESS_CMD="pigz" 多核加速
  • 監控告警:結合 backup-manager --verbose 2>&1 | logger -t backup 接入日誌審計系統
  • 異地多活:配置 BM_UPLOAD_HOSTS 為 3+ 節點,啟用 BM_UPLOAD_PURGE="true" 自動清理過期遠程備份

總結

backup-manager 以極低的學習成本提供了企業級備份能力:標準化配置、多協議傳輸、數據庫感知、加密合規。建議將其納入基礎設施代碼(IaC)管理,通過 Ansible/SaltStack 批量分發配置,實現全環境備份策略一致性。記住:未經驗證的備份等於沒有備份,請每季度進行至少一次全量恢復演練。

Copyright © Windows教程網 All Rights Reserved