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 環境下備份策略全景:磁帶裝置存取、tar/cpio/dump 工具鏈、完全/增量/差分備份模式、自動化腳本與驗證機制

編輯:Linux 教學

「備份不測試等於沒備份」。本文系統整理 Linux 備份的裝置層 (磁帶/SCSI/ATAPI)、工具層 (tar/star/cpio/dump)、策略層 (完全/增量/差分)、自動化腳本與驗證機制,構建企業級資料保護知識體系。

一、備份裝置節點與存取模式

Linux 將所有裝置抽象為 /dev 下的節點檔案,備份即對節點讀寫。

裝置類型回卷裝置 (操作後自動回帶)不回卷裝置 (停留當前位置)
第 1 SCSI 磁帶機/dev/st0/dev/nst0
第 n SCSI 磁帶機/dev/st[n-1]/dev/nst[n-1]
第 1 ATAPI 磁帶機/dev/ht0/dev/nht0
第 1 軟碟式磁帶機/dev/ft0/dev/nft0
  • 回卷裝置:適合單一完整備份,操作結束自動回帶方便取出。
  • 不回卷裝置:適合多重備份追加 (增量/差分)、邏輯搜尋、高階備份軟體控制。
  • 節點屬性:crw-rw-rw- 1 root tape 9, 0 /dev/st0 (字元裝置、主設備號 9、次設備號 0)。
  • 若節點缺失:mknod /dev/nst0 c 9 1 (需核心已載入對應驅動 cat /proc/devices 驗證)。

二、mt 磁帶控制指令與符號連結技巧

  • mt -f /dev/nst0 eod:定位至資料結束處 (EOD),準備追加備份。
  • mt -f /dev/nst0 fsf N:前進 N 個檔案標記 (File Mark)。
  • mt -f /dev/st0 rewind:回卷。
  • 最佳實踐:建立符號連結 ln -sf /dev/nst0 /dev/tape,並設定環境變數 export TAPE=/dev/tape,後續 mt/tar 可省略 -f 參數,避免誤用回卷裝置覆寫資料。

三、基礎備份工具鏈

工具特色典型指令
tar (Tape ARchiver)最通用、跨平台、支援壓縮 (z/j/J)、排除模式、增量 (--newer)tar -cvf /dev/tape /home (完整)
tar -cvf /dev/tape --newer "2024-01-01" /home (增量)
star (Schily Tar)支援 ACL、xattr、長路徑、更快、更穩健star -cv f=/dev/tape /home
cpio從 stdin 讀檔案清單、適合配合 find、複製整個目錄樹find /home -print0 | cpio -ov0 > /dev/tape
dump/restore檔案系統級備份、支援增量等級 0-9、需卸載或唯讀掛載dump -0u -f /dev/tape /home (0 級完全)
dump -1u -f /dev/tape /home (1 級增量)

四、三大備份策略對比

策略空間佔用備份速度還原速度還原所需媒體適用場景
完全備份最大最慢最快1 卷週末/月度基線、小資料量
增量備份最小最快最慢完全 + 所有增量每日/每小時高頻、資料量大
差分備份中等中等中等完全 + 最近一次差分平衡折衷、還原窗口有要求
  • tar 增量關鍵參數:--newer DATE 或 --newer-mtime DATE (僅備份 mtime 較新者)。
  • dump 增量等級:0 級 = 完全;1-9 級 = 自上一次「等級數字較小」備份以來的變化。

五、企業級自動化備份腳本範例 (單磁帶輪換:週六完全、週一至五差分)

#!/bin/bash
# /usr/local/sbin/tape_backup.sh
# 必須在週一首次執行,單磁帶循環覆寫

DEVICE="/dev/nst0"          # 不回卷裝置
REWIND_DEV="/dev/st0"       # 回卷裝置
MAILLIST="admin@example.com"
LOG="/var/log/tape_backup.log"

DOW=$(date +%u)             # 1=Mon ... 6=Sat 7=Sun
DATE=$(date +%F)
DAY=$(date +%A)

mt -f "$REWIND_DEV" rewind 2>>"$LOG"
mt -f "$DEVICE" eod 2>>"$LOG"

if [ "$DOW" -eq 6 ]; then
    # 週六:完全備份
    echo "$DATE" > /etc/.last_full
    tar -cvf "$DEVICE" / --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media --exclude=/tmp 2>>"$LOG" | tee -a "$LOG"
    mt -f "$REWIND_DEV" rewind
    tar -tvf "$DEVICE" 2>>"$LOG" | tail -20 >>"$LOG"   # 驗證前 20 行
    mt -f "$REWIND_DEV" rewind
    cp /etc/.last_full /etc/.last_inc
else
    case "$DOW" in
        7) exit 0 ;;                     # 週日不備份
        1)                               # 週一:基於上次完全備份的差分
            echo "$DATE" > /etc/.last_inc
            tar -cvf "$REWIND_DEV" --newer "$(cat /etc/.last_full)" / --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media --exclude=/tmp 2>>"$LOG" | tee -a "$LOG"
            cp /etc/.last_inc /etc/.last_inc
            ;;
        *)                               # 週二至五:基於上次差分的差分 (遞增)
            mt -f "$DEVICE" eod
            echo "$DATE" > /etc/.last_inc
            tar -cvf "$DEVICE" --newer "$(cat /etc/.last_inc)" / --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media --exclude=/tmp 2>>"$LOG" | tee -a "$LOG"
            mt -f "$REWIND_DEV" rewind
            mt -f "$DEVICE" fsf $((DOW - 2))   # 定位到當天段
            tar -tvf "$DEVICE" 2>>"$LOG" | tail -20 >>"$LOG"
            mt -f "$REWIND_DEV" rewind
            cp /etc/.last_inc /etc/.last_inc
            ;;
    esac
fi

mail -s "Tape Backup $DAY $DATE" "$MAILLIST" < "$LOG"

六、驗證與還原演練 (不可省略)

  1. 備份後立即驗證:tar -tvf /dev/tape 列出內容;tar -df /dev/tape 比對檔案系統 (僅報告差異)。
  2. 定期抽樣還原測試:每月隨機挑選 5-10 個關鍵檔案/目錄,還原至測試目錄 /restore_test,校驗 md5sum、權限、時間戳、符號連結完整性。
  3. 全盤災難演練:每季在測試機/虛擬機執行裸機還原 (Clonezilla/Relax-and-Recover + 磁帶/網路儲存),驗證 RTO/RPO 指標。

七、現代替代方案提示

  • BorgBackup / Restic / Rclone:去重、加密、壓縮、支援雲儲存 (S3/Wasabi/Backblaze B2/GCS)、掛載瀏覽、腳本友善,**強烈建議新部署採用**。
  • Amanda / Bacula / Bareos:傳統企業級備份套件,支援磁帶庫自動換帶、目錄資料庫、多客戶端調度。
  • LVM/ZFS/Btrfs 快照 + 異地同步:近乎零影響的瞬間備份,配合 zfs send/recv、btrfs send/receive 實現增量異地複製。

結語

從 /dev/nst0 磁帶節點到 BorgBackup 去重加密雲備份,工具迭代不斷,**核心原則永恆**:3-2-1 原則 (3 份拷貝、2 種介質、1 份異地)、定期驗證還原、記錄恢復手冊、自動化無人值守。將備份視為系統生命線,而非事後補票,才能在數據災難降臨時從容應對。

Copyright © Windows教程網 All Rights Reserved