BorgBackup (borg):高速・重複排除バックアップ

目次
BorgBackup(borg)についての概要と詳細
BorgBackupとは
BorgBackup
(通称 borg
)は、高機能で非常に効率的なコマンドラインベースのバックアップツールです。主にLinux環境向けに設計されており、重複排除(deduplication)や圧縮、暗号化機能を標準で備えています。Borgは大量のバックアップデータを効率よく扱うことができ、リモートサーバへのバックアップも安全に行えるのが特長です。
また、圧倒的な速度と信頼性を誇り、企業利用や長期保存にも向いています。rsyncやtarの代替として、より高度なバックアップ運用が可能になります。
主な特徴
- 重複排除:ファイルの重複データを保存せず、ストレージ節約
- LZ4、zstd、zlibなどの圧縮対応:高速から高圧縮まで選択可能
- 暗号化対応:AES-256暗号化とHMACによる整合性チェック
- ローカル・リモート対応:SSH経由で安全にバックアップ転送
- マウント可能なアーカイブ:バックアップをFUSEでマウントして中身を直接確認可能
- スクリプトとの相性がよく自動化に最適
インストール方法
Debian/Ubuntu系
$ sudo apt install borgbackup
Fedora系
$ sudo dnf install borgbackup
基本的な使い方
リポジトリの初期化
$ borg init --encryption=repokey /path/to/backup-repo
repokey
方式では、鍵がローカルに保存され、暗号化と復号に使用されます。
バックアップの作成
$ borg create --progress /path/to/backup-repo::my-backup-$(date +%F) ~/Documents
スナップショット名(アーカイブ名)に日付を付けることで世代管理が容易になります。
アーカイブの一覧
$ borg list /path/to/backup-repo
復元の実行
$ borg extract /path/to/backup-repo::my-backup-2025-07-22
特定ファイルの復元
$ borg extract /path/to/backup-repo::my-backup-2025-07-22 home/user/Documents/file.txt
FUSEでのマウント
$ borg mount /path/to/backup-repo::my-backup-2025-07-22 /mnt/backup
バックアップ内容を直接確認でき、ファイルコピーも可能です。
リモートサーバへのバックアップ
$ borg init --encryption=repokey user@server:/backups/myrepo
$ borg create user@server:/backups/myrepo::$(date +%F) ~/Documents
SSH経由での通信には自動的に暗号化がかかります。
自動削除(世代管理)
$ borg prune -v --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /path/to/backup-repo
過去7日分の毎日、4週間分の週次、6ヶ月分の月次バックアップを保持する設定例です。
セキュリティ
- パスフレーズによるリポジトリ保護
- 保存内容の暗号化(AES-CTR)
- MACによる改ざん検知(HMAC-SHA256)
用途と活用例
- 大規模なサーバのフルバックアップと世代管理
- NASや外部ドライブへの定期バックアップ
- 低容量で多世代保持が求められる業務用途
- 開発環境や設定ファイルのバージョン管理的バックアップ
まとめ
BorgBackup
は、高速・高圧縮・暗号化・重複排除というバックアップに求められる要素をすべて備えた高性能ツールです。スクリプトによる自動化やクラウド・リモート対応にも優れており、個人ユーザーからプロのシステム管理者まで幅広く支持されています。
堅牢で効率的なバックアップを実現したいユーザーにとって、borgは非常に信頼できる選択肢です。