Arch Linuxのバックアップ戦略:rsync、tar、btrfsスナップショットを使い分ける
Arch Linuxのバックアップ方法を徹底解説。rsync、tar、btrfsスナップショットの使い分けと復元手順を紹介。初心者でも安心の実践的ガイド。
はじめに
Arch Linuxはローリングリリースのため、システムの安定性を保つには定期的なバックアップが欠かせません。この記事では、代表的なバックアップツールであるrsync、tar、btrfsスナップショットの特徴と具体的な手順を解説します。それぞれのメリット・デメリットを理解し、自分の環境に合った戦略を選びましょう。
バックアップツールの概要
rsync
tar
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でパーミッションエラーが出る
tarアーカイブが壊れている
tar -tvfで確認btrfsスナップショットが作成できない
*この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*
まとめ
これらのツールを組み合わせることで、堅牢なバックアップ戦略を構築できます。例えば、週次でtarによるフルバックアップ、日次でrsyncによる差分バックアップ、さらにbtrfsスナップショットで直前の状態を保存する、といった運用が考えられます。
定期的なバックアップを習慣化し、万が一のトラブルに備えましょう。