バックアップと項目¶
BombVault がバックアップするものは、すべてバックアップの下の 1 つの一覧に並びます。コンテナ、VM、フォルダーセット、フラッシュドライブ、ZFS データセット、セルフバックアップです。それぞれが専用のページを持つ項目です。このページでは、一覧、項目のページとその 3 つのタブ、項目に設定できることを順に説明します。

セクションごとに保存されるもの¶
| セクション | 保存される内容 |
|---|---|
| コンテナ | appdata フォルダーに加え、コンテナ定義:イメージ、変数、ポート、ラベル、ボリューム。コンテナの設定タブにあるバックアップ対象フォルダカードで、バックアップに含めるフォルダーを正確にチェックでき、パスの数がその場で数えられ、除外したものの一覧も出ます。TrueNAS の ixVolume や /opt の下の Compose プロジェクトのように、コンテナがホストデータの外に置いているデータはバックアップされず、実行時にどのフォルダーを除外したかが書かれます。ホストデータの中にあって、いまは存在しないフォルダーも実行に書かれます。/etc/localtime や Docker ソケットのようなシステムパスは、データとして数えません。 |
| VM | ディスクイメージ、XML 定義、UEFI NVRAM を、SSH 経由で、正常なシャットダウンまたはライブスナップショットで保存します。VM のバックアップを参照してください。 |
| フラッシュ | Unraid のみ。USB フラッシュ全体(/boot):OS、ライセンス、アレイ設定、共有、ネットワークおよびプラグイン設定。 |
| セルフバックアップ | BombVault 自身の /config:設定データベース、保存先の認証情報、libvirt の SSH 鍵ペア、ZFS サーバーの鍵と固定したホスト鍵、証明書。SQLite の VACUUM INTO でスナップショットを取るため、書き込みの途中でデータベースが取り込まれることはありません。 |
| フォルダー | サーバー上の任意のフォルダーを、フォルダーセットとして保存します。共有、ドキュメント、写真ライブラリなどです。除外パターンも任意で設定できます。フォルダーセットにも、ほかの項目と同じようにスケジュール、保持ルール、オフサイトコピー、チェック、復元の演習があります。 |
| ZFS データセット | データセットとその下のすべてのデータセットを 1 つの ZFS スナップショットから読み取るので、すべてが同じ瞬間のものになり、フォルダーと同じように restic で保存されます。ZFS 項目は、2 台目の ZFS サーバーにブロック単位の完全なレプリカを持つこともできます。ZFS データセットを参照してください。 |
すべてのバックアップは restic を通るため、増分方式で重複排除され、大きな VM ディスクがあってもリポジトリが膨れ上がることはありません。BombVault は自分自身のコンテナをバックアップしないので、停止することもありません。実行中のバックアップは安全に止められます。restic はスナップショットを最後に書き込むので、中断された実行には、参照されないデータが残るだけでスナップショットは残りません。実行の途中で再起動が起きて残ったロックは、10 分間更新されなかった場合にだけ解除され、実行がもう一度試されます。
一覧¶
一覧の上のタイルで、コンテナや ZFS などの種類を選べます。各タイルには項目数が表示されます。タイルは選択するだけで、ページの残りを隠すことはありません。
各行には、その項目の直近 14 回の実行が小さな四角で、状態が 1 つ表示されます。状態は 保護済み、未保護、延期、複製中 などです。それ以外の情報は名前の横の情報バブルにあり、ポインターが行の上にあるあいだは、そのテキストが行の中に表示されます。コンテナ名の横のマークは、前回のバックアップ以降に、別のイメージ、ポート、変数、ボリュームで作り直されたことを示します。次のバックアップで消えます。
一覧の上の 3 つのボタンで絞り込めます。
- フィルター:スケジュール(すべて、スケジュール済み、停止中)、バックアップ(バックアップ済み、一度もバックアップなし)、そしてコンテナと VM ではインストール済みまたは未インストール。
- 並べ替え:名前、状態、IP、直近のバックアップ、サイズ、スケジュール。IP 以外のすべての項目は昇順と降順の両方で並べ替えられます(たとえば サイズ、大きい順とサイズ、小さい順)。
- 検索:名前、イメージ、IP で検索します。
すでにインストールされていないがバックアップが残っている項目は、未インストール(バックアップのみ)の下に別にまとまります。復元するか、バックアップを削除して容量を空けてください。
ページの主な操作は右下に浮かんでいます。今すぐすべてバックアップは、オンになっているすべてのセクションの実行を開始します。その他には残りの操作があります。
- 選択は選択を開始します。下の説明を参照してください。
- バックアップを検出は、保存先にあるものを読み取って項目を再構築します。たとえば新規インストールのあとに使います。独自のデータを持たないコンテナにはスナップショットがなく、リポジトリの横にミラーされた定義から戻ります。再構築したセクションのオフサイトコピーは、そのバックアップをこのサーバーのものとして引き継ぐまで待機します。再構築のあとを参照してください。
- このサーバーへの ZFS 接続は、ZFS セクションの SSH テストを開きます。ZFS データセットを参照してください。
- 今すぐすべて複製は、ZFS タイルを選んでいるときに、すべての ZFS 項目のレプリカを送ります。

複数の項目を選ぶ¶
ファイルマネージャーでファイルを選ぶのと同じ方法で行を選びます。Ctrl+クリック、Shift+クリック、Ctrl+A、スマートフォンでは長押しです。選んだ行ではアイコンの代わりにチェックが表示され、一覧の上のバーに選択数が表示されて、選択をバックアップ、スケジュールを一時停止、スケジュールを再開、すべて選択、選択を解除が使えます。各行には、その項目専用の操作が入った右クリックメニューもあります。
選択したものはサーバー上で 1 項目ずつバックアップされるので、タブを閉じても続きます。複数の項目をまとめて復元するには、復元ページを使います。

フォルダーや ZFS データセットを追加する¶
コンテナ、VM、フラッシュドライブは、そのセクションを 設定、一般 でオンにすると自動で表示されます。フォルダーと ZFS データセットは、BombVault がどれを指しているか推測できないため、自分で選びます。追加を押すとBombVault にほかに何をバックアップさせますか?が開きます。
- 1つのフォルダーには BombVault が見つけた共有が並び、ホストデータの下にある任意のフォルダーも指定できます。フォルダーセットに
Documentsのような名前を付けます。スナップショットはこの名前で保存されるため、名前は最初のバックアップのあと変更できません。 - ZFS データセットには、このサーバーのデータセットが並びます。バックアップしたい範囲の一番上にあるものを選んでください。項目と子データセットを参照してください。
- システム構成は、ホストデータが
/etcに届く、Unraid ではないホストに表示されます。保存前に確認する、/etcの最初のフォルダーセットです。
項目を対象から外す¶
テスト用コンテナなど、意図的に外した項目にはバックアップしないの印を付けられます。すると未保護として数えられなくなり、除外を解除で元に戻せます。スケジュールを一時停止はもっと穏やかな方法です。項目はスケジュールとフルバックアップから外れ、灰色のスケジュール停止中バッジが付きますが、今すぐバックアップは引き続き使えます。これは、項目の設定タブにあるスケジュールに含めると同じスイッチを操作します。
項目のページ¶
行をクリックすると、その項目のページが開きます。上部には項目名と状態が 1 行で表示され(たとえば 最終バックアップ 3 時間前 や 延期中、次の試行は 03:15)、その操作が並びます。操作は 今すぐバックアップ、復元、そしてその他の下にあるあまり使わないもので、最新のバックアップをエクスポート、コンテナをエクスポートまたは VM をエクスポート、以前の項目にリンク、バックアップをすべて削除、項目を削除、すべての場所のバックアップを削除があります。アイコンの左にある戻るボタンで一覧に戻れます。バックアップの実行中は、進捗の横にバックアップを中止が表示され、中止した実行は失敗ではなく中止として記録されます。
すべての場所のバックアップを削除は、項目のバックアップをオフサイトのコピーも含めて、すべての保存先から一度に削除します。ウィンドウには場所ごとにバックアップの件数が表示され、項目の名前を入力するとボタンが押せるようになります。append-only に設定された場所はバックアップを残し、そのことを表示します。項目とその設定は残るので、もうバックアップしていない項目はそのままで、なくなるのはバックアップとその履歴だけです。
ページには 3 つのタブがあります。バックアップ、設定、検証です。
バックアップタブ¶
このタブには、その項目のスナップショットが新しい順に、日ごとの棒とともに並びます。複数の場所にあるバックアップは 1 回だけ表示され、それを持つ各保存先の印が付きます。スナップショットをクリックするとそれを復元でき、スナップショットの中の場所をクリックすると、まさにそこから復元できます。
- 保存先には、この項目のバックアップがあるすべての場所と、その件数が出ます。オフサイトの場所は、クラウドストレージの一覧取得に時間がかかるため、チェックを押したときにだけ読み取られます。項目がもうバックアップしていない場所は以前のバックアップのみと表示され、そこからの復元は引き続きできます。
- 各スナップショットにはメニューがあります。タグを追加またはタグを変更、別のバックアップと比較(増えた、消えた、変わったファイルを一覧にします)、tar、zip、または単独の restic リポジトリとしてのエクスポート、そして 1 か所だけからの削除です。
- コンテナのデータベースダンプは別の一覧に並び、ダウンロード、フォルダーへの保存、インポートができます。
残るスナップショットの数は保存先で決まります。保持期間を参照してください。

設定タブ¶
すべての項目はスケジュールと保存先から始まります。
- スケジュールに含めるは、項目をスケジュールされた実行に含めたり外したりします。
- 独自のスケジュールは、この項目だけに専用のプランを与えます。1 つの項目の専用プランを参照してください。設定しないと、セクションのプランかフルバックアップで実行されます。
- ボタンの並び、つまりローカルとオフサイトの保存先ごとに 1 つずつが、バックアップの行き先を示します。既定に従うは、その項目がセクションと同じ行き先に送られることを意味し、クリックするとセクションごとの保存先が開きます。項目ごとの配置を参照してください。
- リポジトリは、バックアップの書き込み先(保存先)を示します。その場所は最初のバックアップから固定され、コピーはいつでも変えられます。
下のカードは項目の種類によって異なります。
| 種類 | カード |
|---|---|
| コンテナ | バックアップ対象フォルダ(マップされたフォルダーのうちバックアップするもの。キャッシュフォルダをスキップ(CACHEDIR.TAG)付き)、除外パターン、他のコンテナを停止、前後のコマンド、データベース、アプリが使用中のとき、バックアップ成功後に更新、停止の代わりにスナップショット、以前の名前 |
| VM | VM(方式:グレースフル(シャットダウン)またはライブスナップショット、および変更ブロックのみ)。VM バックアップガイドを参照 |
| フォルダーセット | フォルダーと除外パターン |
| フラッシュドライブ | フラッシュ ZIP エクスポート。フラッシュのバックアップをすべて、指定したフォルダーに通常の .zip として書き出します。同期ツールが書きかけのファイルを見ないよう、1 回の手順で書き出します。本来より中身の少ないフラッシュバックアップでは最後の ZIP がそのまま残り、エクスポートの実行にそう書かれます。 |
| ZFS データセット | 子データセット、停止するコンテナ、スナップショットの前後のコマンド、レプリカ、スナップショットへのアクセスを試す。ZFS データセットを参照 |
設定は変更すると自動で保存されます。

検証タブ¶
- チェックには、最初のバックアップのあとに行われる復元チェックが表示されます。復元を確認は、最新のバックアップに対してそれをもう一度実行します。BombVault は最大 100 ファイル、256 MiB の標本を一時フォルダーに復元し、restic にすべてのファイルをハッシュと照合して読み戻させます。
- コンテナの起動テストは、最新のバックアップを隔離したコピーに復元して起動します。名前は
bombvault-test-で始まり、公開ポートもなく LAN への経路もない専用の内部 Docker ネットワークに置かれ、CPU 1 つとメモリ 2 GiB で動きます。コピーが正常と報告するか、最初に公開されたポートで応答するか、どちらもなければ動き続けた場合に合格です。元のコンテナには一切触れず、コピー、そのネットワーク、そのデータは、テストの途中で再起動した場合も含めて、あとで削除されます。ホストネットワークのコンテナ、特権コンテナ、デバイスを使うコンテナ、ほかのコンテナを必要とするコンテナは、テスト不可と表示されます。設定、検証、自動チェックの下にある起動テストは、1 回の実行で 1 つのコンテナを、最後にテストしたのが最も古いものから順にテストします。 - 異常は、この項目専用の感度と通知レベルを設定し、未処理の検出結果を表示します。
- フォルダー別のサイズは、最新のバックアップで何が容量を使っているか、そのうち直近のバックアップで増えた分がどれだけかを、1 階層ずつ表示します。
- 最近の実行には、直近の実行が開始、終了、所要時間とともに並びます。クリックすると詳細が表示されます。

除外パターン¶
除外パターンカードには、1 行に 1 つのパターンを入力します。パスはコンテナの中で見えるとおりに入力します。たとえば /config/Library/Application Support/Plex Media Server/Cache や、どの深さでも一致する .git のような名前だけの指定です。フォルダーセットでは、/mnt/user/data/cache のように、ホストから見たパスを入力します。フィールドの下のプレビューに各行がどう解決されるかが表示され、何にも一致しない行や、すべてを除外してしまう行には警告が出ます。/ や * だけの行、またはバックアップ対象のフォルダー全体を指す行は無視されるので、除外によってバックアップが空になることはありません。フォルダー全体を外したいときは、代わりにバックアップ対象フォルダでチェックを外してください。
Plex、Jellyfin、Sonarr、Radarr、Immich、Nextcloud などよく知られたイメージでは、キャッシュ、ログ、サムネイルなど、アプリが自分で作り直せるフォルダーがカードに提案されます。選択したものを除外を押すまで、何も除外されません。
同じカードには、フォルダーのスキャンでは分からない警告も出ます。たとえば Immich は、アルバム、顔、日付を別のコンテナの PostgreSQL データベースに保存しているため、Immich コンテナだけをファイルバックアップすると、画像は戻ってもそれらは何も戻らず、復元は成功したように見えてしまいます。データベースのコンテナもバックアップしてください。
データベースダンプ¶
BombVault が認識する PostgreSQL、MySQL、MariaDB のコンテナは、バックアップのたびに、実行中のサーバーから、ファイルの隣にある専用のリストアポイントへダンプされます。対象は、公式イメージ、PostGIS、TimescaleDB、pgvector、pgautoupgrade、Immich のデータベースイメージ、linuxserver、yobasystems、jc21 の MariaDB イメージ、Oracle の mysql-server です。データベースに見えるだけのコンテナにも同じオプションがありますが、選ぶまでオフです。
ダンプはリポジトリに直接ストリームされ、ディスクには書き込まれません。認証情報はコンテナ自身の変数(*_FILE のシークレットを含む)から取得され、コンテナの外には出ません。コンテナの設定タブにあるデータベースカードには、データフォルダーが停止中に保存されるのか、実行中にコピーされるのか、保存されないのかが表示され、このコンテナのダンプをオンまたはオフにできます。ラベル bombvault.dbdump=false も同じ働きをし、カードより優先されます。設定、一般のデータベースの自動ダンプで、すべてのコンテナに対して切り替えられます。
ダンプが失敗しても、バックアップは失敗になりません。理由付きの独立した失敗した実行として表示され、通知が送られます。ダンプが自動で読み戻されることはありません。ダウンロード(そのままでも圧縮でも)、フォルダーへの保存、新しく起動したデータベースへのバックアップタブからのワンクリックのインポートができます。BombVault なしでダンプを取り戻すには、データベースダンプを取り戻すを参照してください。失敗したときは、データベースダンプが失敗したを参照してください。
コマンドとほかのコンテナ¶
- 前後のコマンドは、
sh -cでコンテナの中で実行されます。たとえば、キャッシュをディスクに書き出すのに使えます。バックアップ前のコマンドが失敗すると、バックアップは中止されます。バックアップ前のコマンドが終了コード 75 で終わると、スケジュールされたバックアップは代わりに延期されます。下を参照してください。 - 他のコンテナを停止には、このコンテナのバックアップ中に停止するコンテナ(データベースなど)を指定します。その後、Compose の
depends_onの順に再び起動し、標準では、それぞれが正常と報告してから次が起動します。待機とそのタイムアウトは、設定、スケジュールの順序カードにあるバックアップ後の再起動で設定します。 - 停止するコンテナのネットワーク、PID、IPC の名前空間を
--net=container:や Compose のnetwork_mode: service:で共有しているコンテナは、一覧になくても一緒に停止・起動し、参加先のコンテナのあとに起動します。再起動したコンテナには新しいネットワークが付き、古いネットワークで動き続けたコンテナにはループバックしか残らないからです。一覧そのものは設定したとおりのままです。そのようなコンテナを停止できなかったときは、再起動するまでネットワークがないことが実行に書かれます。BombVault 自身のコンテナも同じで、BombVault は自分自身を停止せず、一覧にも入れられません。 - そのあと再び動かなかったコンテナは、実行と通知で名前が示されます。バックアップ自体が失敗した場合も同様です。
アプリが使用中のとき¶
バックアップはコンテナを停止するため、スケジュールされたバックアップは、誰かがアプリを使っているあいだ待機し、自動でやり直せます。コンテナの設定タブにあるアプリが使用中のときカードで設定します。
- アクティビティチェックは、スケジュールされたバックアップの前に Plex、Jellyfin、Emby に誰かが視聴中かどうかを尋ねます。Plex には自身の
Preferences.xmlのトークンで問い合わせるので、入力するものはありません。Jellyfin と Emby には、サーバーのダッシュボードの API キーで作成した API キーを使います。 - 一時停止中のセッションを無視するまで (分)は、夜のあいだ一時停止されたままの映画を数えなくします。
- サーバーが応答しないときはバックアップするは、サーバーに問い合わせできないときの動作を決めます。オンならバックアップが実行され、ログにその旨が書かれます。オフなら、誰かが視聴中であるかのように待機します。
- コンテナーがデータを送信している間は待つは、ゲームサーバーやダウンローダーなど、そうしたチェックを持たないアプリ向けです。直近の静かな状態の継続時間 (分) のあいだのどの測定でも、コンテナが使用中とみなす値 (KiB/s) より多く送信していた場合、バックアップは待機します。
- 再試行の間隔 (分)、試行する時間帯を選ぶ時間帯を限定して試行する、最大待機時間 (時間) で、試行の進め方を設定します。
- 待機時間が終わったときは、あきらめるか(バックアップは要対応に再試行とともに表示されます)、それでもバックアップするかを選びます。
待機中のバックアップは琥珀色の延期として記録され、実行の残りは続行されます。概要、一覧、項目に次の試行とともに表示され、期限切れアラートと保護状況は、その期限まで待ちます。通知は延期されたときに 1 回、終わったときに 1 回で、試行ごとには送られません。試行は別のバックアップが実行中のあいだ待機し、待機は再起動をまたいで続きます。今すぐバックアップ、再試行、選択、API、MCP のどれであっても、自分で開始したバックアップは常にすぐ実行され、通ったものは保留中の待機を終わらせます。
コンテナの設定タブには、古いもっと簡単な方法もあります。最大待機時間 (時間) とあわせたアプリがアイドルになるまで待つです。バックアップは、アプリがアイドルになるとすぐ始まります。アイドルの定義は、設定、スケジュールのバックアップ前のアイドルカードにあります。同じ実行で予定されている Compose スタックのメンバーはまとめて待機し、待機中のバックアップはロックを保持しないので、ほかのコンテナは先に進みます。

例:誰かが観ているあいだ Plex は待つ¶
フルバックアップは毎晩 03:00 に実行されます。Plex がバックアップのために止まって映画が途切れるのは避けたい、でもバックアップは朝までに終わらせたい、という状況です。
- バックアップを開き、
plexの項目、その設定タブの順に進みます。 - アプリが使用中のときで、アクティビティチェックを Plex にします。入力するものはありません。
- 一時停止中のセッションを無視するまで (分) を
30にします。深夜 0 時に一時停止した映画は、0 時 30 分には数えられなくなります。 - サーバーが応答しないときはバックアップするはオンのままにします。
- 再試行の間隔 (分) を
15にします。 - 時間帯を限定して試行するをオンにして、試行する時間帯を
22:00から06:00にします。 - 最大待機時間 (時間) を
3、待機時間が終わったときをそれでもバックアップにします。
03:00 になってもまだ誰かが観ている夜は、こうなります。BombVault が Plex に問い合わせ、再生中のセッションを見つけて、バックアップを延期として記録し、次の試行を 03:15 とします。その実行のほかのコンテナは、いつもどおりバックアップされます。04:10 に映画が終わると、04:15 の試行で Plex がアイドルだと分かり、バックアップが行われ、待機は 1 回の通知で終わります。もし 06:00 になっても映画が続いていたら、待機は終点に達し、Plex はそれでもバックアップされるので、バックアップが 3 時間より多く遅れることはありません。
独自のチェックを使うなら、アプリが使用中のあいだバックアップ前コマンドが終了コード 75 で終わるようにします。たとえば [ "$(cat /tmp/players)" = 0 ] || exit 75 です。ほかの症状と対処はトラブルシューティングにあります。
通常のエクスポート¶
エンジンは引き続き restic ですが、エクスポートを使うと、BombVault も restic も必要としないコピーが手に入ります。
- 項目のページのその他の下にあるコンテナをエクスポートと VM をエクスポートは、リポジトリの隣に、その時点のコピーを書き出します。コンテナならバックアップ対象フォルダーと Unraid テンプレート、VM ならディスクイメージと定義で、
virsh defineで復元できます。 - スナップショットのエクスポートは、保存されたバックアップをサーバー上のエクスポートフォルダーに、tar、zip、または単独の restic リポジトリとして書き出します。1 つのスナップショットも、すべてのスナップショットも対象にできます。フラッシュバックアップとセルフバックアップには鍵が含まれるため、それらのエクスポートにはログインパスワードと、インスタンスでのサインインが必要です。
エクスポートは標準では通常のファイルです。設定、システムの age でエクスポートを暗号化をオンにすると、フラッシュの ZIP も含め、指定した受信者向けに暗号化されます。受信者は、age の公開鍵か SSH の公開鍵のどちらかです。あとで対応する秘密鍵を使い、BombVault のないマシンで復号できます。暗号化がオンで有効な受信者がいない場合、エクスポートは通常のファイルを書き出すことなく、分かりやすいエラーで失敗します。
実行から分かること¶
- 所要時間。 すべての実行に開始、終了、所要時間が表示され、各項目にはそれぞれの最近の実行があります。
- バックアップが遅かった理由。 バックアップの実行中、BombVault は CPU、ディスク、ネットワークの忙しさを監視します。バックアップが通常よりかなり長くかかり、何か 1 つがはっきり限界に達していた場合は、実行にその旨が書かれます。たとえば「保存先ディスク disk1 の使用率は 98% でした。」のようにです。それ以外のときは何も書かれません。
- チェックとプルーンの進捗。 アクティビティログとバックアップをチェックカードには、restic がどこまで数えたかが、たとえば 47 パック中 12 のように表示され、見積もれるだけの情報がそろえば、そのステップの残り時間も出ます。
- 読み取れなかったファイル。 バックアップ自体は完了したものの何かを除外した場合、その行はオレンジ色になり、何を除外したかが書かれます。