Arch Linuxのバックアップ戦略:rsync、tar、btrfsスナップショットを使い分ける

Arch Linuxのバックアップ方法を徹底解説。rsync、tar、btrfsスナップショットの使い分けと復元手順を紹介。初心者でも安心の実践的ガイド。

Arch Linuxバックアップrsynctarbtrfsスナップショット復元2026/5/25

はじめに

Arch Linuxはローリングリリースのため、システムの安定性を保つには定期的なバックアップが欠かせません。この記事では、代表的なバックアップツールであるrsynctarbtrfsスナップショットの特徴と具体的な手順を解説します。それぞれのメリット・デメリットを理解し、自分の環境に合った戦略を選びましょう。

バックアップツールの概要

rsync

  • 差分バックアップが可能で、高速
  • ファイル単位での同期、リモートバックアップにも対応
  • バックアップ先はマウント済みのディスクやSSH経由
  • tar

  • アーカイブ形式で圧縮可能(.tar.gz, .tar.xzなど)
  • ファイルのパーミッションや属性を保持
  • フルバックアップに適している
  • btrfsスナップショット

  • CoW(Copy-on-Write)を利用した瞬間的なスナップショット
  • 差分のみ保存するためディスク効率が良い
  • ルートファイルシステムがbtrfsである必要がある
  • バックアップ手順

    1. rsyncを使ったバックアップ

    まず、バックアップ先のディレクトリを準備します。

    sudo mkdir -p /mnt/backup_root
    sudo mount /dev/sdb1 /mnt/backup_root
    

    システム全体をrsyncでバックアップする例(除外リストを指定):

    sudo rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found",".cache"} / /mnt/backup_root/
    
  • -a: アーカイブモード(パーミッション、タイムスタンプ等保持)
  • -A: ACLを保持
  • -X: 拡張属性を保持
  • -v: 詳細表示
  • --delete: バックアップ先に存在しないファイルを削除
  • --exclude: バックアップから除外するパターン
  • 復元時は、逆方向にrsyncを実行します。

    sudo rsync -aAXv --delete /mnt/backup_root/ /
    

    2. tarを使ったバックアップ

    システム全体をtarでアーカイブする例(除外リストをファイルで指定):

    sudo tar -cvpzf /mnt/backup/arch_backup_$(date +%Y%m%d).tar.gz --exclude-from=/home/user/exclude.txt /
    

    除外リストファイル(exclude.txt)の例:

    /dev/*
    /proc/*
    /sys/*
    /tmp/*
    /run/*
    /mnt/*
    /media/*
    /lost+found
    /home/*/.cache
    
  • -c: アーカイブ作成
  • -v: 詳細表示
  • -p: パーミッション保持
  • -z: gzip圧縮
  • -f: 出力ファイル名
  • --exclude-from: 除外リストファイル
  • 復元は以下のコマンドで行います。

    sudo tar -xvpzf /mnt/backup/arch_backup_20250315.tar.gz -C /
    

    3. btrfsスナップショットを使ったバックアップ

    ルートがbtrfsである場合、まずサブボリュームを作成します(通常インストール時に作成済み)。

    スナップショットの作成:

    sudo btrfs subvolume snapshot -r / /.snapshots/root_$(date +%Y%m%d)
    
  • -r: 読み取り専用スナップショット
  • スナップショットを別のディスクに送信(バックアップ):

    sudo btrfs send /.snapshots/root_20250315 | sudo btrfs receive /mnt/backup_btrfs/
    

    復元は、スナップショットから元のサブボリュームに戻します。

    sudo btrfs subvolume delete /
    <h1>注意: 上記は危険な操作です。実際には別のサブボリュームにマウントしてから行います。</h1>
    

    より安全な方法は、ライブUSBからブートしてスナップショットをリストアすることです。

    トラブルシューティング

    rsyncでパーミッションエラーが出る

  • ルート権限で実行しているか確認
  • バックアップ先のファイルシステムがLinuxのパーミッションをサポートしているか(例: FAT32は非推奨)
  • tarアーカイブが壊れている

  • 圧縮オプションを変えてみる(-zの代わりに-J(xz)など)
  • アーカイブ作成後にtar -tvfで確認
  • btrfsスナップショットが作成できない

  • ルートファイルシステムがbtrfsであることを確認
  • スナップショット先のサブボリュームの空き容量を確認

  • *この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*

    まとめ

  • rsync: 頻繁な差分バックアップに最適。リモートバックアップも可能。
  • tar: フルバックアップを圧縮して保存したい場合に便利。
  • btrfsスナップショット: 瞬間的で効率的だが、ファイルシステムがbtrfs限定。
  • これらのツールを組み合わせることで、堅牢なバックアップ戦略を構築できます。例えば、週次でtarによるフルバックアップ、日次でrsyncによる差分バックアップ、さらにbtrfsスナップショットで直前の状態を保存する、といった運用が考えられます。

    定期的なバックアップを習慣化し、万が一のトラブルに備えましょう。