英語フランス語スペイン語

Ad


OnWorksファビコン

borgbackup - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで borgbackup を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド borgbackup です。

プログラム:

NAME


borg - BorgBackup は、オプションの圧縮機能を備えた重複排除バックアップ プログラムです。
認証された暗号化。

Borg はいくつかのコマンドで構成されています。 各コマンドは多数の引数を受け入れます。
オプション。 次のセクションでは、各コマンドについて詳しく説明します。

全般的な


タイプ of ログ 出力
組み込みのログ構成のログ レベルは、デフォルトで WARNING に設定されます。 それの訳は
Borg はほとんど沈黙し、警告、エラー、重要なメッセージのみを出力するようにしたいと考えています。

ログレベル: DEBUG < INFO < WARNING < ERROR < CRITICAL

  - デバッグ DEBUG ログ レベルを設定します - デバッグ、情報、警告、エラー、クリティカル レベルを取得します
出力。

  - 情報 (または -v or -詳細) INFO ログ レベルを設定します - 情報、警告、エラーを取得し、
クリティカルレベルの出力。

  - 警告 (デフォルト) WARNING ログ レベルを設定します - 警告、エラー、クリティカルを取得します
レベル出力。

  - エラー ERROR ログ レベルを設定します - エラーおよびクリティカル レベルの出力を取得します。

  - 致命的 CRITICAL ログ レベルを設定します - クリティカル レベルの出力を取得します。

その他の設定もできます。 ログレベルは、すべてのコマンドで異なる結果が得られることを期待しないでください。
異なるログレベルで出力する - それは単なる可能性です。

警告:
--critical および --error オプションは完全を期すために提供されていますが、それらの使用法は異なります。
重要な情報を見逃す可能性があるため、お勧めします。

警告:
いくつかのオプション( -統計 or - リスト) より多くの情報メッセージが出力されます。
ログ出力に表示するには、INFO (またはそれ以下) のログ レベルを使用する必要があります。 使用 -v または
ロギング設定。

返品 コー​​ド
Borg は次の戻りコード (rc) で終了することがあります。

0 = 成功 (情報として記録される)
1 = 警告 (操作は正常に終了しましたが、警告がありました -
ログを確認してください。警告として記録されています)
2 = エラー (致命的なエラー、ローカルまたはリモートの例外、操作など)
正常終了に達しなかったので、エラーとして記録されました)
128+N = シグナル N によって強制終了 (例: 137 == kill -9)

あなたが使用している場合 --show-rc、戻りコードも、最後のレベルとして指定されたレベルで記録されます。
ログエントリ。

環境 Variables
Borg は自動化にいくつかの環境変数を使用します。

一般:

BORG_REPO
設定すると、その値を使用してデフォルトのリポジトリの場所を指定します。 もし
コマンドにはアーカイブパラメータが必要です。次のように短縮できます。 ::アーカイブ。 もし
コマンドにはリポジトリ パラメータが必要です。パラメータは省略してもよいし、
と略します ::、位置パラメータが必要な場合。

BORG_パスフレーズ
設定すると、その値を使用して暗号化されたパスワードの質問に答えます。
リポジトリ。

BORG_DISPLAY_PASSPHRASE
設定されている場合、その値を使用して「次のパスフレーズを表示します」に応答します。
暗号化されたパスワードの新しいパスフレーズを定義する際の「検証」に関する質問
リポジトリ。

BORG_LOGGING_CONF
設定すると、指定されたファイル名を次のように使用します。 INI-style のロギング設定。

BORG_RSH
設定する場合は、代わりにこのコマンドを使用します。 ssh。 これは ssh を指定するために使用できます
カスタム ID ファイルなどのオプション ssh -i /パス/への/秘密/キー。 見る man
ssh 他のオプション。

TMPDIR 一時ファイルが保存される場所 (大量の一時スペースが必要になる場合があります)
一部の操作)

一部 自動 回答者 (if セット、 彼ら 自動的に 回答 確認 質問):

BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=いいえ (または =はい)
「警告: これまでに知られていない暗号化されていないアドレスにアクセスしようとしています」
リポジトリ」

BORG_RELOCATED_REPO_ACCESS_IS_OK=いいえ (または =はい)
「警告: ... の場所にあるリポジトリは、以前は ... にありました」の場合

BORG_CHECK_I_KNOW_WHAT_I_AM_DOING=NO (または =はい)
「警告: 「check --repair」は実験的な機能であり、次のような結果が生じる可能性があります。
データ損失の場合。」

BORG_DELETE_I_KNOW_WHAT_I_AM_DOING=NO (または =はい)
「リポジトリの完全な削除をリクエストしました」の場合 配合工業用化学製品の
それに含まれるアーカイブ:"

注: 回答では大文字と小文字が区別されます。 無効な応答値を設定すると、次のいずれかの結果が得られる可能性があります
再試行が有効かどうかに応じて、デフォルトの回答または対話形式での質問が表示されます。
許可されています (デフォルトで許可されています)。 したがって、スクリプトを対話的にテストしてください
非対話型スクリプトにする前に。

ディレクトリ:

BORG_KEYS_DIR
デフォルトは「」~/.config/borg/keys'。 このディレクトリには、暗号化されたキーが含まれています
リポジトリ。

BORG_CACHE_DIR
デフォルトは「」~/.cache/borg'。 このディレクトリにはローカル キャッシュと
大きなリポジトリを処理するには多くのスペースが必要になる場合があります)。

建物:

BORG_OPENSSL_PREFIX
指定された OpenSSL ヘッダー ファイル ディレクトリをデフォルトの場所に追加します
(setup.py)。

BORG_LZ4_PREFIX
指定された LZ4 ヘッダー ファイル ディレクトリをデフォルトの場所 (setup.py) に追加します。



· 「はい」を使用するときは十分に注意してください。プロンプト付きの警告が / に存在します。
データのセキュリティ/安全性

· パスフレーズをスクリプトに入れるときも十分に注意してください。パスフレーズが含まれていることを確認してください。
適切なファイル権限 (例: モード 600、root:root)。

リソース 使用法
Borg は、処理するデータセットのサイズに応じて大量のリソースを使用する可能性があります
と。

CPU: コードは現在シングルスレッドであるため、100 コアの 1% を超えることはありません。
特に高い zlib および lzma 圧縮レベルでは、大量の CPU が使用されます。
サイクル。

メモリ (RAM):
チャンク インデックスとファイル インデックスは、パフォーマンス上の理由からメモリに読み込まれます。
圧縮、特に。 高レベルの lzma 圧縮にはかなりの量が必要になる場合があります
メモリの。

一時的な ファイル:
FUSE マウントされたリポジトリからデータとメタデータを読み取ると、約
リポジトリ内でそれらを表すために使用される重複排除されたチャンクと同じスペース。

キャッシュ ファイル:
チャンク インデックスとファイル インデックス (および圧縮されたコレクション) が含まれます。
単一アーカイブ チャンク インデックス)。

チャンク インデックス:
リポジトリ内のデータ チャンクの量に比例します。 リポジトリ内に大量のチャンクが存在する
大きなチャンクインデックスを意味します。 チャンカーパラメータを微調整することが可能です (create を参照)
オプション)。

インデックス:
前回のバックアップ内のファイルの量に比例します。 オフにすることもできます (「
オプションを作成します)。ただし、これを行うと、次回のバックアップが大幅に遅くなります。

ネットワーク:
リポジトリがリモートの場合は、すべて重複排除されます (オプションで圧縮/
暗号化されている)データは、もちろん接続(ssh: リポジトリ URL)を経由する必要があります。 もし、あんたが
ローカルにマウントされたネットワーク ファイルシステムを使用し、さらにいくつかのコピー操作が使用されます
トランザクションのサポートも接続を介して行われます。 複数のソースをバックアップする場合
XNUMX つのターゲット リポジトリに対して、キャッシュの再同期のために追加のトラフィックが発生します。

詳細に興味がある場合は、内部ドキュメントをお読みください。

Units
量を表示するために、Borg は通常のスケールの規則を尊重します。 ディスク
サイズはで表示されます 10進数、XNUMX の累乗を使用します (つまり、 kB 1000バイトを意味します)。 思い出のために
使用法、 バイナリ プレフィックス が使用されており、 IEC バイナリ プレフィックス、使用して
XNUMX のべき乗 (つまり KiB 1024バイトを意味します)。

日付 & Time
ISO-8601 に準拠した日付と時刻の形式、つまり YYYY-MM-DD および HH:MM:SS (24 時間)
時計)。

詳細については、次を参照してください。 https://xkcd.com/1179/

特に明記されていない限り、現地の日付と時刻が表示されます。 内部で保存および処理します
UTC としての日付と時刻。

ボーグ INIT


使用法: borg init [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [-e {none,keyfile,repokey}]
[リポジトリ]

空のリポジトリを初期化する

位置引数:
REPOSITORY 作成するリポジトリ

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-e {なし、キーファイル、リポキー}、--encryption {なし、キーファイル、リポキー}
暗号化キーモードを選択します (デフォルト: "repokey")

説明
このコマンドは空のリポジトリを初期化します。 リポジトリはファイルシステムのディレクトリです
XNUMX 個以上のアーカイブから重複排除されたデータが含まれています。 暗号化は次の場所で有効にできます。
リポジトリの初期時間。


# ローカル リポジトリ (デフォルトではリポキー モードで暗号化を使用します)
$ borg init /パス/to/repo

# ローカルリポジトリ (暗号化なし)
$ borg init --encryption=none /path/to/repo

# リモートリポジトリ (ssh経由でリモートボーグにアクセス)
$ borg init user@hostname:backup

# リモートリポジトリ (キーをホームディレクトリに保存)
$ borg init --encryption=keyfile user@hostname:backup

暗号化に関する重要な注意事項:

暗号化を無効にすることはお勧めできません。 リポジトリの暗号化により保護されます。
攻撃者がバックアップ リポジトリにアクセスした場合に備えて。

ただし、キー/パスフレーズには注意してください。

「パスフレーズのみ」のセキュリティが必要な場合は、 リポーキー モード。 キーは保管されます
リポジトリ内 (「config」ファイル内)。 前述の攻撃シナリオでは、
攻撃者はキーを持っています (パスフレーズは持っていません)。

「パスフレーズとキーを持っている」セキュリティが必要な場合は、 キーファイル モード。 鍵は
ホームディレクトリ( .config/borg/keys)。 攻撃シナリオでは、
リポジトリにアクセスするだけの攻撃者はキーを持っていません(また、
パスフレーズ)。

キー ファイルのバックアップ コピーを作成します (キーファイル モード) またはリポジトリ構成ファイル (リポーキー モード)と
破損または紛失した場合に備えて、キーを安全な場所に保管してください。 また
パスフレーズは安全な場所に保管してください。 そのキーで暗号化されたバックアップは、
もちろんそれを手伝ってください。

必ず適切なパスフレーズを使用してください。 短すぎず、シンプルすぎず。 本当の暗号化 /
復号化キーはパスフレーズで暗号化/ロックされています。 攻撃者があなたの情報を入手した場合、
キーの場合、パスフレーズを知らなければロックを解除して使用することはできません。

パスフレーズ内の特殊文字または非 ASCII 文字には注意してください。

· Borg はパスフレーズを Unicode として処理する (そして utf-8 としてエンコードする) ため、
最も奇妙な文字さえも扱う問題。

· ただし、これは OS / VM / キーボード構成に必ずしも適用されるわけではありません。

そのため、
別のキーボードで入力するのが難しい/不可能な非 ASCII 文字または文字
レイアウト。

既存のリポジトリのパスフレーズはいつでも変更できます。変更しても、
暗号化/復号化キーまたはその他の秘密。

ボーグ CREATE


使用法: borg create [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--リモートパス パス] [-s] [-p] [--list]
[--フィルター ステータス文字] [-e パターン]
[--exclude-from EXCLUDEFILE] [--exclude-caches]
[--存在する場合は除外 ファイル名] [--keep-tag-files]
[-c SECONDS] [-x] [--numeric-owner]
[--タイムスタンプ yyyy-mm-ddThh:mm:ss]
[--chunker-params CHUNK_MIN_EXP,CHUNK_MAX_EXP,HASH_MASK_BITS,HASH_WINDOW_SIZE]
[--ignore-inode] [-C 圧縮] [--read-special] [-n]
アーカイブ パス [パス ...]

新しいアーカイブを作成する

位置引数:
ARCHIVE 作成するアーカイブの名前 (有効な名前である必要があります)
ディレクトリ名)
PATH アーカイブへのパス

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-s、--stats 作成されたアーカイブの統計を出力します
-p、--progress アーカイブの作成中に進行状況を表示します。
元のサイズ、圧縮されたサイズ、重複排除されたサイズを表示します。
続いて、表示されたファイルの数とパス
処理中、デフォルト: False
--list 項目 (ファイル、ディレクトリなど) の詳細なリストを出力します。
--filter STATUSCHARS は、指定されたステータス文字を持つ項目のみを表示します
-e PATTERN、--PATTERN を除外
PATTERN に一致するパスを除外する
--exclude-from EXCLUDEFILE
EXCLUDEFILE から除外パターンを XNUMX 行に XNUMX つずつ読み取ります
--exclude-caches CACHEDIR.TAG ファイルを含むディレクトリを除外します。
(http://www.brynosaurus.com/cachedir/spec.html)
--存在する場合は除外 ファイル名
指定されたファイルを含むディレクトリを除外します
--keep-tag-files 除外されたキャッシュ/ディレクトリのタグ ファイルを保持します。
-c 秒、--チェックポイント間隔 秒
SECONDS 秒ごとにチェックポイントを書き込みます (デフォルト: 300)
-x、--XNUMX ファイルシステム
同じファイル システムに留まり、マウント ポイントを越えないでください
--numeric-owner は数値のユーザーとグループの識別子のみを保存します
--タイムスタンプ yyyy-mm-ddThh:mm:ss
アーカイブの作成日時 (UTC) を手動で指定します。
代わりに、参照ファイル/ディレクトリを指定します。
--chunker-params CHUNK_MIN_EXP、CHUNK_MAX_EXP、HASH_MASK_BITS、HASH_WINDOW_SIZE
チャンカーパラメータを指定します。 デフォルト: 19,23,21,4095
--ignore-inode ファイルメタデータキャッシュ内の i ノードデータを無視します。
未変更のファイルを検出します。
-C 圧縮、--圧縮 圧縮
圧縮アルゴリズム (およびレベル) を選択: なし == いいえ
圧縮 (デフォルト)、lz4 == lz4、zlib == zlib
(デフォルトのレベル 6)、zlib,0 .. zlib,9 == zlib (
レベル 0..9)、lzma == lzma (デフォルト レベル 6)、lzma,0 ..
lzma,9 == lzma (レベル 0..9)。
--read-special 特別なファイルを通常のように開いて読み取ります
ファイル
-n、--dry-run はバックアップ アーカイブを作成しません

説明
このコマンドは、再帰的に見つかったすべてのファイルを含むバックアップ アーカイブを作成します。
指定されたすべてのパスを通過します。 アーカイブはファイルやファイル用のディスク容量をほとんど消費しません。
すでに他のアーカイブに保存されているファイルの一部。

sshfs や同様のネットワーク ファイル システムを介してバックアップを取得する速度を向上させるため。
正しい i ノード情報を提供するには、--ignore-inode フラグを使用できます。 これは潜在的に
変更検出の信頼性が低下しますが、常にすべてのファイルを読み取ることは避けられます。
これらのファイル システム。

除外パターンの詳細については、「borg help pattern」コマンドの出力を参照してください。


# バックアップ 〜/ドキュメント 「my-documents」という名前のアーカイブに保存します
$ borg create /path/to/repo::my-documents 〜/ドキュメント

# 同じですが、処理中にすべてのファイルを詳細にリストします
$ borg create -v --list /path/to/repo::my-documents 〜/ドキュメント

# バックアップ 〜/ドキュメント & 〜/ src ただし、pycファイルは除外します
$ borg create /path/to/repo::my-files \
〜/ドキュメント \
〜/ src \
--「*.pyc」を除外します

# 画像のサムネイルを除いたホーム ディレクトリをバックアップします (つまり、サムネイルのみ)
# / home /*/.thumbnails は除外されますが、除外されません / home /*/*/.サムネイル)
$ borg create /path/to/repo::my-files /ホーム \
-- を除外します:^/ home /[^/]+/\.thumbnails/'

# シェルスタイルのパターンを使用して同じことを行う
$ borg create /path/to/repo::my-files /ホーム \
--'sh を除外します:/ home /*/.サムネイル'

# ルート ファイルシステムを「root-YYYY-MM-DD」という名前のアーカイブにバックアップします。
# zlib 圧縮を使用します (良いですが遅い) - デフォルトは圧縮なしです
$ borg create -C zlib,6 /path/to/repo::root-{now:%Y-%m-%d} / --one-file-system

# きめ細かい重複排除 (ビッグチャンク管理) に多大な努力を払う
# オーバーヘッド、大量の RAM とディスク容量が必要、内部構造の式を参照
# docs - borg < 1.0 または attic と同じパラメータ):
$ borg create --chunker-params 10,23,16,4095 /path/to/repo::small /smallstuff

# RAW デバイスをバックアップします (その時点ではアクティブ/使用中/マウントされていてはなりません)
$ dd if=/dev/sdx bs=10M | borg create /path/to/repo::my-sdx -

# 圧縮なし (デフォルト)
$ borg create /path/to/repo::arch ~

# 超高速、低圧縮
$ borg create --compression lz4 /path/to/repo::arch ~

# 速度は低下しますが、圧縮率は高くなります (N = 0..9)
$ borg create --compression zlib,N /path/to/repo::arch ~

# さらに低速、さらに高圧縮 (N = 0..9)
$ borg create --compression lzma,N /path/to/repo::arch ~

# アーカイブ名に使用できるフォーマットタグ:
# {now}、{utcnow}、{fqdn}、{hostname}、{user}、{pid}
# 短いホスト名、バックアップユーザー名、現在の unixtime (エポックからの秒数) を追加します。
$ borg create /path/to/repo::{hostname}-{user}-{now:%s} ~

ボーグ エキス


使用法: borg extract [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [--list] [-n] [-e パターン]
[--exclude-from EXCLUDEFILE] [--numeric-owner]
[--ストリップコンポーネント番号] [--stdout] [--sparse]
アーカイブ [パス [パス ...]]

アーカイブコンテンツを抽出する

位置引数:
ARCHIVE 抽出するアーカイブ
PATH 抽出するパス。 パターンがサポートされています

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
--list 項目 (ファイル、ディレクトリなど) の詳細なリストを出力します。
-n、--dry-run は実際にはファイルを変更しません
-e PATTERN、--PATTERN を除外
PATTERN に一致するパスを除外する
--exclude-from EXCLUDEFILE
EXCLUDEFILE から除外パターンを XNUMX 行に XNUMX つずつ読み取ります
--numeric-owner は数値のユーザーおよびグループ識別子のみに従います
--strip-components NUMBER
指定された数の先頭のパス要素を削除します。
要素が少ないパス名は自動的に削除されます。
スキップしました。
--stdout 抽出されたすべてのデータを stdout に書き込みます
--sparse 出力スパース ファイルにすべてゼロからホールを作成します
チャンク

説明
このコマンドは、アーカイブの内容を抽出します。 デフォルトでは、アーカイブ全体は
抽出されますが、ファイルとディレクトリのサブセットは、次のリストを渡すことで選択できます。 パス
引数として。 ファイルの選択は、 -除外する オプションを選択します。

除外パターンの詳細については、「borg help pattern」コマンドの出力を参照してください。


# アーカイブ全体を抽出する
$ borg extract /path/to/repo::my-files

# 処理中にアーカイブ全体を抽出してファイルをリストする
$ borg extract -v --list /path/to/repo::my-files

# 「src」ディレクトリを解凍します
$ borg extract /path/to/repo::my-files home/USERNAME/src

# 「src」ディレクトリを抽出しますが、オブジェクトファイルは除外します
$ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'

# RAW デバイスを復元します (その時点ではアクティブ/使用中/マウントされていてはなりません)
$ borg extract --stdout /path/to/repo::my-sdx | dd of=/dev/sdx bs=10M

注: 現在、 エキス 常に 書き込み   現在 ワーキング ディレクトリにジョブを開始します。 (「。」)、
だから必ず確認してください cd 電話する前に適切な場所に移動してください ボルグ エキス.

ボーグ チェック


使用法: borg check [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [--repository-only] [--archives-only]
[--repair] [--save-space] [--last N] [-P PREFIX]
[リポジトリ_OR_アーカイブ]

リポジトリの整合性をチェックする

位置引数:
リポジトリ_OR_アーカイブ
リポジトリまたはアーカイブの整合性をチェックする

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
--repository-only リポジトリのチェックのみを実行します
--archives-only アーカイブチェックのみを実行します
--repair 見つかった不一致を修復しようとします。
--save-space は動作が遅くなりますが、使用するスペースは少なくなります
--last N 個の最後の N 個のアーカイブのみをチェックします (デフォルト: すべて)
-P プレフィックス、--プレフィックス プレフィックス
このプレフィックスで始まるアーカイブ名のみを考慮します

説明
check コマンドは、リポジトリと対応するアーカイブの整合性を検証します。

まず、基礎となるリポジトリ データ ファイルがチェックされます。

· すべてのセグメントについて、セグメント マジック (ヘッダー) がチェックされます。

· セグメントに格納されているすべてのオブジェクトについて、すべてのメタデータ (例: crc や size) とすべてのデータが
読む。 読み出したデータはサイズとCRCでチェックされます。 ビット腐敗およびその他の種類の偶発的事故
この方法で損傷を検出できます。

· 修復モードにあり、セグメントの整合性エラーが検出された場合は、
セグメントからできるだけ多くのオブジェクトを回復します。

· 修復モードでは、インデックスがファイルに保存されているデータと一致していることを確認します。
セグメント。

· ssh: 経由でリモート リポジトリ サーバーを使用する場合、リポジトリ チェックはリポジトリ サーバー上で実行されます。
大量のネットワークトラフィックを発生させることなく、

· --archives-only オプションを使用すると、リポジトリのチェックをスキップできます。

次に、アーカイブ メタデータの一貫性と正確性が検証されます。

· リポジトリマニフェストは存在しますか? そうでない場合は、アーカイブ メタデータ チャンクから再構築されます (これは
すべてのメタデータとデータの読み取りと復号化が必要です)。

· アーカイブ メタデータ チャンクが存在するかどうかを確認します。 そうでない場合は、マニフェストからアーカイブを削除します。

· アーカイブ内のすべてのファイル (アイテム) について、これらのファイルによって参照されるすべてのチャンクについて、
チャンクが存在します (存在せず、修復モードになっている場合は、同じサイズのチャンクと置き換えます)
ゼロ)。 これには、アーカイブとファイルのメタデータの読み取りが必要ですが、データは必要ありません。

· 修復モードですべてのアーカイブをチェックした場合: 孤立したチャンクを削除します。
レポ。

· ssh: 経由でリモート リポジトリ サーバーを使用する場合、アーカイブ チェックはクライアント上で実行されます。
マシン (暗号化が有効になっている場合、チェックには復号化が必要になるため、
キーへのアクセスが必要となるため、常にクライアント側で行われます)。

· アーカイブ チェックは時間がかかる場合がありますが、次のコマンドを使用してスキップできます。
--リポジトリのみのオプション。

ボーグ RENAME


使用法: borg rename [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--リモートパス PATH]
新しい名前をアーカイブする

既存のアーカイブの名前を変更する

位置引数:
ARCHIVE 名前を変更するアーカイブ
NEWNAME 使用する新しいアーカイブ名

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")

説明
このコマンドは、リポジトリ内のアーカイブの名前を変更します。


$ borg create /path/to/repo::archivename ~
$ borg list /path/to/repo
アーカイブ名 月、2016-02-15 19:50:19

$ borg rename /path/to/repo::archivename newname
$ borg list /path/to/repo
新しい名前 月, 2016-02-15 19:50:19

ボーグ LIST


使用法: borg list [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [--short] [--list-format LISTFORMAT]
[-P プレフィックス]
[リポジトリ_OR_アーカイブ]

アーカイブまたはリポジトリの内容を一覧表示する

位置引数:
リポジトリ_OR_アーカイブ
リポジトリ/アーカイブの内容をリストする

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
--short ファイル/ディレクトリ名のみを出力し、他は何も出力しません
--list-format LISTFORMAT
アーカイブ ファイル リストの形式を指定します (デフォルト:
「{モード} {ユーザー:6} {グループ:6} {サイズ:8d} {isomtime}
{path}{extra}{NEWLINE}") 特別な「{formatkeys}」が存在します
利用可能なキーをリストするには
-P プレフィックス、--プレフィックス プレフィックス
このプレフィックスで始まるアーカイブ名のみを考慮します

説明
このコマンドは、リポジトリまたはアーカイブの内容を一覧表示します。


$ borg list /path/to/repo
月曜日 月曜日, 2016-02-15 19:15:11
レポ 月、2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
新しい名前 月, 2016-02-15 19:50:19
...

$ borg list /path/to/repo::root-2016-02-15
drwxr-xr-x root root 0 月、2016-02-15 17:44:27 。
drwxrwxr-x ルート ルート 0 月、2016-02-15 19:04:49 ビン
-rwxr-xr-x root root 1029624 木、2014-11-13 00:08:51 bin/bash
lrwxrwxrwx root root 0 Fri, 2015-03-27 20:24:26 bin/bzcmp -> bzdiff
-rwxr-xr-x root root 2140 Fri, 2015-03-27 20:24:22 bin/bzdiff
...

$ borg list /path/to/repo::archiveA --list-format="{mode} {user:6} {group:6} {size:8d} {isomtime} {path}{extra}{NEWLINE}"
drwxrwxr-x ユーザー ユーザー 0 2015-02-01 日 11:00:00 。
drwxrwxr-x ユーザー ユーザー 0 2015-02-01 日 11:00:00 コード
drwxrwxr-x ユーザー ユーザー 0 2015-02-01 日 11:00:00 コード/myproject
-rw-rw-r-- ユーザー ユーザー 1416192 2015-02-01 日 11:00:00 code/myproject/file.ext
...

# ファイルの変更時間、サイズ、ファイル パスに基づいて、アーカイブ間で何が変更されたかを確認します
$ borg list /path/to/repo::archiveA --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list.archiveA
$ borg list /path/to/repo::archiveB --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list.archiveB
$ diff -y /tmp/list.archiveA /tmp/list.archiveB
1422781200 年 0 月 1422781200 日。 0 年 XNUMX 月 。
1422781200 0 コード 1422781200 0 コード
1422781200 0 コード/マイプロジェクト 1422781200 0 コード/マイプロジェクト
1422781200 1416192 コード/myproject/file.ext | 1454664653 1416192 コード/myproject/file.ext
...

ボーグ DELETE


使用法: borg delete [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [-p] [-s] [-c] [--save-space]
[目標]

既存のリポジトリまたはアーカイブを削除する

位置引数:
TARGET 削除するアーカイブまたはリポジトリ

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-p、--progress 単一のアーカイブを削除する際の進行状況の表示を表示します。
-s、--stats 削除されたアーカイブの統計を出力します。
-c、--cache-only 指定されたリポジトリのローカル キャッシュのみを削除します
--save-space は動作が遅くなりますが、使用するスペースは少なくなります

説明
このコマンドは、リポジトリまたはリポジトリ全体からアーカイブを削除します。 ディスク
それに応じてスペースが再利用されます。 リポジトリ全体を削除すると、ローカル キャッシュは
それ (存在する場合) も削除されます。


# 単一のバックアップ アーカイブを削除します。
$ borg delete /path/to/repo::Monday

# リポジトリ全体と関連するローカル キャッシュを削除します。
$ borg delete /path/to/repo
リポジトリに含まれるすべてのアーカイブを *含む* 完全に削除するようリクエストしました:
レポ 月、2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
新しい名前 月, 2016-02-15 19:50:19
これを理解して続行する場合は、「YES」と入力してください: YES

ボーグ プルーン


使用法: borg prune [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--リモートパス パス] [-n] [-s] [--list]
[--keep-within WITHIN] [-H 時間単位] [-d 毎日] [-w 毎週]
[-m 毎月] [-y 毎年] [-P プレフィックス] [--save-space]
[リポジトリ]

指定されたルールに従ってリポジトリ アーカイブを整理します

位置引数:
REPOSITORY プルーニングするリポジトリ

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-n、--dry-run はリポジトリを変更しません
-s、--stats 削除されたアーカイブの統計を出力します。
--list 保持/削除するアーカイブの詳細なリストを出力します。
--keep-within WITHIN この時間間隔内にすべてのアーカイブを保持します
-H 時間、--keep-hourly 時間
保持する時間ごとのアーカイブの数
-d DAILY、--keep-daily DAILY
保持する毎日のアーカイブの数
-w 毎週、--keep-weekly 毎週
保持する毎週のアーカイブの数
-m 毎月、--keep-monthly 毎月
保存する月次アーカイブの数
-y 毎年、--keep-yearly 毎年
保持する年間アーカイブの数
-P プレフィックス、--プレフィックス プレフィックス
このプレフィックスで始まるアーカイブ名のみを考慮します
--save-space は動作が遅くなりますが、使用するスペースは少なくなります

説明
prune コマンドは、どのアーカイブにも一致しないアーカイブを削除することでリポジトリを整理します。
指定された保存オプション。 このコマンドは通常、自動バックアップ スクリプトによって使用されます。
一定数の履歴バックアップを保持したい。

たとえば、「-d 7」は、毎日最新のバックアップを最大 7 つまで保持することを意味します。
バックアップありの日数 (バックアップなしの日数はカウントされません)。 ルールは時間ごとに適用されます
以前のルールで選択されたバックアップは、後のルールのバックアップにはカウントされません。
ルール。 各バックアップの完了時間は、プルーニングの目的で使用されます。 日付と時刻
ローカル タイムゾーンで解釈され、週は月曜日から日曜日までとなります。 を指定する
保持するアーカイブの数が負の場合は、制限がないことを意味します。

「--keep-within」オプションは、「」形式の引数を取ります。 "、char は "H"、
「d」、「w」、「m」、「y」。 たとえば、「--keep-within 2d」は、以前に作成されたすべてのアーカイブを保持することを意味します。
過去 48 時間以内に作成されたもの。 「1m」は「31d」を意味すると解釈されます。 保管されているアーカイブは、
このオプションは、他のオプションで指定された合計にはカウントされません。

プレフィックスが -P で設定されている場合は、そのプレフィックスで始まるアーカイブのみが考慮されます
削除対象となり、それらのアーカイブのみがルールで指定された合計にカウントされます。
さもないと、 リポジトリ内のアーカイブは削除の候補です。


prune はバックアップ アーカイブを削除するため、潜在的に危険なコマンドであることに注意してください。

prune のデフォルトでは、次のように適用されます。 アーカイブ in   倉庫 それを制限しない限り、
を使用したアーカイブのサブセットに対する操作 --prefix。 使用時 --prefix、注意してください
適切なプレフィックスを選択してください。たとえば、一致したくない場合はプレフィックス「foo」を使用しないでください。
「フーバー」。

常に実行することを強くお勧めします プルーン -ドライラン ... まず、それが何であるかを見てみましょう
実際には何もしなくても大丈夫です。

# 7 つの一日の終わりと 4 つの追加の週の終わりのアーカイブを保持します。
# 実際には何も削除せずに予行演習を実行します。
$ borg prune --dry-run --keep-daily=7 --keep-weekly=4 /path/to/repo

# 上記と同じですが、「foo」で始まるアーカイブ名にのみ適用されます。
$ borg prune --keep-daily=7 --keep-weekly=4 --prefix=foo /path/to/repo

# 7 つの一日の終わり、さらに 4 つの週末のアーカイブを保持します。
# そして各月の月末アーカイブ:
$ borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=-1 /path/to/repo

# 過去 10 日間のすべてのバックアップ、追加の 4 つの週末のアーカイブを保持します。
# そして各月の月末アーカイブ:
$ borg prune --keep-within=10d --keep-weekly=4 --keep-monthly=-1 /path/to/repo

ボーグ ご利用ガイド


使用法: borg info [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--リモートパス PATH]
アーカイブ

使用されているディスク容量などのアーカイブの詳細を表示します

位置引数:
ARCHIVE アーカイブに関する情報を表示します

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")

説明
このコマンドは、指定されたアーカイブに関する詳細情報を表示します。


$ borg info /path/to/repo::root-2016-02-15
名前: root-2016-02-15
Fingerprint: 57c827621f21b000a8d363c1e163cc55983822b3afff3a96df595077a660be50
ホスト名: myhostname
ユーザー名:root
時間(開始): 2016-02-15 月 19:36:29
時間 (終了): 2016-02-15 月 19:39:26
コマンドライン: /usr/local/bin/borg create -v --list -C zlib,6 /path/to/repo::root-2016-02-15 / --one-file-system
ファイル数: 38100

元のサイズ 圧縮サイズ 重複排除サイズ
このアーカイブ: 1.33 GB 613.25 MB 571.64 MB
すべてのアーカイブ: 1.63 GB 853.66 MB 584.12 MB

一意のチャンク 総チャンク数
チャンクインデックス: 36858 48844

ボーグ MOUNT


使用法: borg mount [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path パス] [-f] [-o オプション]
REPOSITORY_OR_ARCHIVE マウントポイント

アーカイブまたはリポジトリ全体を FUSE ファイルシステムとしてマウントします

位置引数:
リポジトリ_OR_アーカイブ
マウントするリポジトリ/アーカイブ
MOUNTPOINT ファイルシステムをマウントする場所

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-f、--foreground フォアグラウンドに留まり、デーモン化しない
-o OPTIONS 追加のマウント オプション

説明
このコマンドは、アーカイブを FUSE ファイルシステムとしてマウントします。 これは、
個々のファイルをアーカイブまたは復元します。 そうでない限り、 - 前景 オプションはコマンドに与えられます
ファイルシステムが完了するまでバックグラウンドで実行されます。 アンマウントされた.


$ borg mount /path/to/repo::root-2016-02-15 /tmp/mymountpoint
$ ls /tmp/mymountpoint
bin boot etc home lib lib64 loss+found media mnt opt root sbin srv tmp usr var
$ fusermount -u /tmp/mymountpoint

ボーグ パスフレーズの変更


使用法: borg 変更パスフレーズ [-h] [--critical] [--error] [--warning] [--info]
[--debug] [--lock-wait N] [--show-rc]
[--no-files-cache] [--umask M]
[--リモートパス PATH]
[リポジトリ]

リポジトリキーファイルのパスフレーズを変更する

位置引数:
リポジトリ

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")

説明
リポジトリの暗号化に使用されるキー ファイルは、オプションでパスフレーズで保護されます。 これ
コマンドを使用してこのパスフレーズを変更できます。


# キーファイルで保護されたリポジトリを作成する
$ borg init --encryption=keyfile -v /path/to/repo
「/path/to/repo」でリポジトリを初期化しています
新しいパスフレーズを入力してください:
同じパスフレーズをもう一度入力します。
パスフレーズを覚えておいてください。 これがないとデータにアクセスできなくなります。
「/root/.config/borg/keys/mnt_backup」をキー入力して作成しました。
このキーは安全に保管してください。 これがないとデータにアクセスできなくなります。
チャンク キャッシュを同期しています...
アーカイブ: 0、キャッシュされた Idx あり: 0、古い Idx あり: 0、キャッシュされた Idx なし: 0。
完了しました。

# キーファイルのパスフレーズを変更する
$ borg 変更パスフレーズ -v /path/to/repo
キー /root/.config/borg/keys/mnt_backup のパスフレーズを入力します。
新しいパスフレーズを入力してください:
同じパスフレーズをもう一度入力します。
パスフレーズを覚えておいてください。 これがないとデータにアクセスできなくなります。
キーが更新されました

ボーグ サーブ


使用法: borgserve [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [--restrict-to-path PATH]

サーバーモードで起動します。 通常、このコマンドは手動で使用されません。

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
--restrict-to-path PATH
リポジトリへのアクセスを PATH に制限する

説明
このコマンドは、リポジトリ サーバー プロセスを開始します。 このコマンドは通常は使用されません
手動で


borgserve は、ssh 強制コマンドを特別にサポートしています (「 認可されたキー
以下): このような強制コマンドの使用を検出し、
--restrict-to-パス オプション。 次に、からの元のコマンドを解析します。
クライアントも同様であることを確認してください ボルグ 役立つ そして、次のようにパス制限を適用します。
強制コマンド。 そうすることで、クライアントによって与えられた他のオプション ( - 情報 or --umask)
は保持されます (強制コマンドでは修正されません)。

# SSH キーペアに borg の実行のみを許可し、/path/to/repo へのアクセスのみを許可します。
# キー オプションを使用して、不要で潜在的に危険な SSH 機能を無効にします。
# これは、自動化されたリモート バックアップ システムの安全性を確保するのに役立ちます。
$猫 ~/.ssh/authorized_keys
command = "borgserve --restrict-to-path /path/to/repo",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-rsa AAAAB3[...]

ボーグ アップグレード


使用法: borg upgrade [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--リモート パス パス] [-p] [-n] [-i]
[リポジトリ]

リポジトリを以前のバージョンからアップグレードする

位置引数:
REPOSITORY アップグレードするリポジトリへのパス

オプションの引数:
-h、-helpこのヘルプメッセージを表示して終了します
-- ログレベル CRITICAL での重要な作業
--error ログ レベル ERROR で動作します
--warning はログ レベル WARNING で動作します (デフォルト)
--info、-v、--verbose
ログレベルINFOで作業します
--debug はログレベル DEBUG で動作します
--lock-wait N はロックを待ちますが、最大値は 1 です。 N 秒 (デフォルト: XNUMX)。
--show-rc 戻りコード (rc) を表示/ログに記録します
--no-files-cache に使用されるファイル メタデータ キャッシュをロード/更新しません。
未変更のファイルを検出する
--umask M umask を M に設定します (ローカルおよびリモート、デフォルト: 0077)
--remote-path PATH リモート パスを実行可能ファイルに設定します (デフォルト: "borg")
-p、--progress リポジトリのアップグレード中に進行状況を表示します
-n、--dry-run はリポジトリを変更しません
-i、--inplace リポジトリを所定の場所に書き換えます。
リポジトリの古いバージョンに戻します。

説明
既存の Borg リポジトリをアップグレードします。 これは現在、屋根裏部屋の変換をサポートしています
リポジトリを Borg に変換し、Borg 0.xx から 1.0 への変換にも役立ちます。

現在、アップグレードできるのはローカル リポジトリのみです (問題 #465)。

新しい Borg マジックに一致するように、リポジトリのセグメント内のマジック文字列が変更されます。
文字列。 $ATTIC_KEYS_DIR にあるキーファイルまたは ~/.attic/keys/ も変換されます
$BORG_KEYS_DIR にコピーするか、 ~/.config/borg/keys。

キャッシュ ファイルは、$ATTIC_CACHE_DIR または ~/.cache/屋根裏部屋 $BORG_CACHE_DIR へ
or ~/.cache/borg、ただし、Borg と Attic の間のキャッシュ レイアウトが変更されたため、可能性があります。
変換後の最初のバックアップは、キャッシュの再同期のため、予想よりも時間がかかります。

アップグレードは中断された場合でも再開できるはずですが、アップグレードは引き続きすべて繰り返されます。
セグメント。 ゼロから始めたい場合は、を使用してください ボルグ 削除 コピーされたリポジトリ上に
キャッシュ ファイルも削除されていることを確認してください。
ボーグ削除ボーグ

そうでない限り - 所定の位置に が指定されている場合、アップグレード プロセスでは最初に、
REPOSITORY.upgrade-DATETIME 内のリポジトリ、ハードリンクを使用します。 これには以前よりも時間がかかります
アップグレードを配置しますが、はるかに安全で、進行状況の情報が表示されます( cp ).
変換に満足したら、バックアップ コピーを安全に破棄できます。

警告: アップグレードを実行すると、現在のコピーが古いバージョンでは使用できなくなります。
以前のバージョンに戻ることはできません。 これはあなたのものに永久的なダメージを与える可能性があります
リポジトリ! マジック文字列が変更されたため、Attic は BORG リポジトリを読み取ることができません。 あなた
警告されています。


# borg リポジトリを最新バージョンにアップグレードします。
$ borg upgrade -v /path/to/repo
/path/to/repo.upgrade-2016-02-15-20:51:55 にハードリンク コピーを作成します
borg で attic リポジトリを開いて変換する
リポジトリのキーファイルが見つかりません
リポジトリ インデックス /path/to/repo/index.0 を変換しています
1 セグメントを変換中...
borg 0.xx を現在の borg に変換
リポジトリのキーファイルが見つかりません

雑則 ヘルプ


ボルグ 助けます パターン
除外パターンは、fnmatch、シェル、正規表現、および XNUMX つの個別のスタイルをサポートします。
パスのプレフィックス。 コロン (「:」) が続く場合、パターンの最初の XNUMX 文字が使用されます
スタイルセレクターとして。 デフォルト以外のスタイルを使用する場合は、明示的なスタイルの選択が必要です。
希望する場合、または希望するパターンが XNUMX つの英数字で始まり、その後に XNUMX 文字が続く場合
コロン(つまり aa:何か/*).

Fnmatch、セレクター FM:
これらのパターンは、任意の数の「*」と一致するシェル パターン構文のバリアントを使用します。
文字、「?」 任意の XNUMX 文字に一致、「[...]」は任意の XNUMX 文字に一致
範囲を含む、指定されていない文字に一致する「[!...]」。 のために
これらのパターンの目的、パス区切り文字 (Windows の場合は ''、その他のシステムの場合は '/')
特別扱いはされません。 リテラル一致の場合はメタ文字を括弧で囲みます (つまり、
[?] リテラル文字と一致するようにする ?)。 パスがパターンに一致するには、次の条件を満たす必要があります。
最初から最後まで完全に一致するか、最初からパスの直前まで一致する必要があります
セパレータ。 ルート パスを除き、パスがパス区切り文字で終わることはありません。
マッチングが試行されます。 したがって、指定されたパターンがパス区切り文字で終わる場合、「*」は
照合が試行される前に追加されます。

シェルスタイルのパターン、セレクター し:
fnmatch パターンと同様、これらはシェル パターンに似ています。 違いは、
パターンには次のものが含まれる場合があります ** / XNUMX 個以上のディレクトリ レベルを照合する場合、 * ゼロ一致用
パス区切り文字を除く、複数の任意の文字。

正規表現、セレクター RE:
Perl で見られるものと同様の正規表現がサポートされています。 貝殻模様とは異なります
完全なパスと部分文字列の一致に正規表現を使用する必要はありません。
十分なものです。 パターンを先頭 ('^') に固定することを強くお勧めします。
終了 ('$')、またはその両方。 パス内のパス区切り文字 (Windows の場合は ''、その他のシステムの場合は '/')
パターンを適用する前に、常にスラッシュ (「/」) に正規化されます。 定期的な
式の構文については、 Python ドキュメント for   re モジュール.

プレフィックスパス、セレクター pp:
このパターン スタイルは、サブディレクトリ全体を照合する場合に便利です。 パターン pp:/データ/バー
マッチ /データ/バー そしてその中のすべて。

除外はコマンドラインオプション経由で渡すことができます -除外する。 内部から使用する場合
シェルのパターンは展開から保護するために引用符で囲む必要があります。

  -除外-から オプションを使用すると、テキスト ファイルから除外パターンを読み込むことができます。
行ごとのパターン。 削除後の空行またはシャープ記号 ('#') で始まる行
両端の空白は無視されます。 オプションのスタイルセレクタープレフィックスもサポートされています
ファイルからロードされたパターンの場合。 空白を含む空白削除パスが原因で、
先頭または末尾は正規表現を使用してのみ除外できます。

例:

# '/home/user/file.o' は除外しますが、'/home/user/file.odt' は除外します: $ borg create -e '
*
.o' バックアップ /

# '/home/user/junk' と '/home/user/subdir/junk' は除外しますが、 # 除外しません
'/home/user/ importantjunk' または '/etc/junk': $ borg create -e '/ home /
*
/ジャンク' バックアップ /

# '/home/user/cache' の内容は除外しますが、ディレクトリ自体は除外しません: $ borg create
-e /home/user/cache/backup /

# ファイル「/home/user/cache/ important」は バックアップ: $ borg create -e
/home/ユーザー/キャッシュ/バックアップ / /ホーム/ユーザー/キャッシュ/重要

# ' 内のディレクトリの内容/ホーム' 名前が # で終わる場合はバックアップされません
'.tmp' $ borg create --exclude 're:^/ home /[^/]+.tmp/' バックアップ /

# ファイルから除外をロード $ cat >exclude.txt < / home //ジャンク * Tmpは
fm:aa:何か/ 再:^/ home /[^/].tmp/sh:/ home /
*
/.thumbnails EOF $ borg create --exclude-from exclude.txt バックアップ /

DEBUG コマンド


さらにいくつかのコマンド (すべて「debug-」で始まる) があります。 意図された for
通常の つかいます & 非常に 危険な 間違って使用した場合。

これらは、システムに直接アクセスせずにデバッグ機能を向上させるために存在します。
重大な故障に遭遇することがあります。 自分が何をしようとしているのかを理解している場合にのみ使用してください。
信頼できる Borg 開発者が何をすべきかを指示した場合。

付加 注意事項


ここにその他があります。 使用法では十分に詳しく説明されていない可能性があるトピックに関するメモ
のセクションから無料でダウンロードできます。

アイテム価格 フラグ
ボルグ 作ります -v - リスト すべてのファイル、ディレクトリ、その他のファイルの詳細なリストを出力します
考慮されるシステム アイテム (コンテンツの変更があるかどうかは関係ありません)。 それぞれについて
アイテムの場合、アイテムのタイプやステータスを示す XNUMX 文字のフラグが接頭辞として付けられます。

その出力のサブセットのみに興味がある場合は、次のように指定できます。 --filter=AME &
A、M、または E ステータスの通常のファイルのみが表示されます (下記を参照)。

大文字は、「ファイル」に対する通常のファイルのステータスを表します。
キャッシュ (リポジトリに対して相対的ではありません。これは、ファイル キャッシュが使用されていない場合に問題になります)。
メタデータはどのような場合でも保存され、「A」と「M」については新しいデータ チャンクも保存されます。 ために
「U」の場合、すべてのデータ チャンクは既存のチャンクを参照します。

· 'A' = 通常のファイル、追加 (FAQ の a_status_oddity も参照)

· 'M' = 通常のファイル、変更済み

· 'U' = 通常のファイル、変更なし

· 'E' = 通常のファイル、アクセス/読み取り中にエラーが発生しました この file

小文字は通常のファイル以外のファイル タイプを意味します。通常、borg は単に
メタデータを保存します。

· 'd' = ディレクトリ

· 'b' = ブロックデバイス

· 'c' = 文字型デバイス

· 'h' = 通常のファイル、ハードリンク (すでに表示されている i ノードへ)

· 's' = シンボリックリンク

· 'f' = fifo

使用されるその他のフラグは次のとおりです。

· 'i' = バックアップ データは標準入力 (stdin) から読み取られました。

· '-' = 予行演習、アイテムは バックアップされた

・「?」 = ステータス コードがありません (これが表示された場合は、バグ レポートを提出してください!)

--chunker-params
チャンカー パラメータは、入力ファイルがどのように断片 (チャンク) に分割されるかに影響します。
重複排除の対象となります。 また、リソース使用量 (RAM とディスク) にも大きな影響を与えます。
スペース)必要なリソースの量は、(また)
リポジトリ内のチャンク (「 インデックス / キャッシュ メモリ 使用 詳細については)。

--chunker-params=10,23,16,4095 その結果、きめ細かい重複排除が行われ、大規模なデータが作成されます。
チャンクの量が多いため、チャンクの管理に多くのリソースを使用します。 これは良いことです
データ量が比較的少なく、マシンに十分な量の空き RAM とディスクがある場合
スペース。

--chunker-params=19,23,21,4095 (デフォルト) 粗粒度の重複排除が行われ、
作成されるチャンクの量がはるかに少ないため、使用するリソースが少なくなります。 これは良いことです
データ量が比較的多く、マシンの空き RAM の量が比較的少ない場合、
ディスクスペース。

すでにリポジトリにいくつかのアーカイブを作成していて、その後チャンカーのパラメータを変更した場合、
もちろん、チャンクの切り取り方が異なるため、これは重複排除に影響します。

最悪の場合 (すべてのファイルが大きく、バックアップの合間に操作された場合)、
すべてのコンテンツをリポジトリに再度コピーします。

通常、それはそれほど悪いことではありませんが、

· 通常、ほとんどのファイルは変更されないため、既に存在する古いチャンクが再利用されます。
リポジトリ内で

· (新旧両方の) 最小チャンクサイズより小さいファイルの場合、チャンクは XNUMX つだけになります
いずれにせよ、結果として得られるチャンクは同じであり、重複排除が適用されます。

チャンカーパラメータを切り替えて、すでにいくつかのリソースがある既存のリポジトリのリソースを保存する場合
アーカイブをバックアップすると、ファイルの数が増えるにつれて、時間の経過とともに効果が増大することがわかります。
より大きなチャンクサイズを使用して再びタッチされ、保存されました & へのすべての参照
より小さい古いチャンクは (アーカイブの削除/プルーニングによって) 削除されました。

リソース使用量にすぐに大きな影響を与えたい場合は、新しいものを開始することをお勧めします。
チャンカーパラメータを変更するときのリポジトリ。

詳細については、chunker_details を参照してください。

--read-special
オプション --read-special 通常のファイルシステムレベル(フルまたは
部分的に再帰的) バックアップ。 むしろ何かをしたい場合にのみこのオプションを与えてください
...特別 -- そして、そのように扱いたいファイルをいくつか厳選した場合。

ボルグ 作ります --read-special 特別な処理を行わずにすべてのファイルを開きます
ファイルの種類に応じて (ここでの唯一の例外はディレクトリです。これらは再帰されます)
の中へ)。 そうするとどうなるか想像してみてください cat ファイル名 --- そこに表示されるコンテンツ
これは、borg がそのファイル名に対してバックアップするものです。

したがって、たとえば、シンボリックリンクがたどり、ブロックデバイスのコンテンツが読み取られ、名前付きパイプが実行されます。
/ UNIX ドメインソケットが読み取られます。

使用するときはファイル名として何を与えるか注意する必要があります --read-special、たとえば、
あなたが与える / dev / zero、バックアップは決して終了しません。

指定されたファイルのメタデータは、メタデータを使用しない場合と同様に保存されます。 --read-special (例:その
名前、そのサイズ [0 の場合もあります]、そのモードなど) -- さらに、読み取られるコンテンツも含まれます
それはそれのために保存されます。

このようなファイルのコンテンツの復元は、現在、次の方法で一度に XNUMX つずつのみサポートされています。 --stdout
オプション (そして、stdout をどこにでもリダイレクトする必要があります。おそらく直接
選択した既存のデバイス ファイル、または間接的に dd).


バックアップしたい論理ボリューム (LV) のスナップショットをいくつか作成したと想像してください。

注意:
一部のシナリオでは、これは「クラッシュのような」一貫性を実現する良い方法です (私はこれをこう呼んでいます)
単にリセットボタンを押した場合と同じであるため、クラッシュのようなものです。
マシンが突然完全にクラッシュする可能性があります)。 一貫性がないよりはマシです
まったく問題なく、一部のユースケースでは良い方法ですが、次のような場合には十分ではない可能性があります。
データベースが実行中です。

次に、これらすべてのスナップショットのバックアップ アーカイブを作成します。 バックアッププロセスでは、
プロセスは元のボリュームで動作している間、論理ボリュームが「フリーズ」状態になっている
そこに保存されているデータの変更を続けます。

次の出力も追加します lvdisplay バックアップに保存しておくと、万が一の場合に LV サイズを確認できます。
それらを再作成して復元する必要があります。

バックアップが完了したら、スナップショットを再度削除します。

$ # ここにスナップショットを作成します
$ lvdisplay > lvdisplay.txt
$ borg create --read-special /path/to/repo::arch lvdisplay.txt /dev/vg0/*-snapshot
$ # ここでスナップショットを削除します

ここで、そのようなバックアップからいくつかの LV を復元する方法を見てみましょう。

$ borg extract /path/to/repo::arch lvdisplay.txt
$ # ここで正しいサイズの空の LV を作成します (lvdisplay.txt を調べてください)。
$ # 空のルートとホーム LV を作成し、それを上書きすると仮定します。
$ borg extract --stdout /path/to/repo::arch dev/vg0/root-snapshot > /dev/vg0/root
$ borg extract --stdout /path/to/repo::arch dev/vg0/home-snapshot > /dev/vg0/home

追加のみ モード
リポジトリは「追加専用」にすることができます。これは、Borg が上書きしたり、
コミットされたデータを削除します。 これは、複数のマシンが XNUMX つのネットワークにバックアップするシナリオに役立ちます。
中央バックアップサーバーを使用して ボルグ 役立つ、ハッキングされたマシンはバックアップを削除できないため、
永久に。

追加専用モードを有効にするには、リポジトリを編集します 設定 ファイルを作成し、行を追加します 追加のみ=1
【リポジトリ】 セクション (または行が存在する場合は編集します)。

追加専用モードでは、Borg はトランザクション ログを 取引 ファイル、ここで
各行はトランザクションと UTC タイムスタンプです。


攻撃者がすべてのバックアップをリモートで削除したが、リポジトリは追加専用になっていたとします。
モード。 この状況でのトランザクション ログは次のようになります。

トランザクション 1、UTC 時間 2016-03-31T15:53:27.383532
トランザクション 5、UTC 時間 2016-03-31T15:53:52.588922
トランザクション 11、UTC 時間 2016-03-31T15:54:23.887256
トランザクション 12、UTC 時間 2016-03-31T15:55:54.022540
トランザクション 13、UTC 時間 2016-03-31T15:55:55.472564

セキュリティ ログから、攻撃者は 15:54:00 にアクセスを取得し、すべての
バックアップが削除されるか、侵害されたバックアップに置き換えられます。 ログからわかること
トランザクション 11 以降は危険にさらされます。 トランザクション ID はトランザクションの名前であることに注意してください。
last トランザクション内のファイル。 たとえば、トランザクション 11 はファイル 6 から 11 にまたがります。

実際の攻撃では、分析のために侵害されたリポジトリを無傷のままにしておく必要があるでしょう。
攻撃者が達成しようとしたこと。 念のためこのコピーを作成しておくこともお勧めします
リカバリ中に何か問題が発生しました。 一部のファイルを削除することでリカバリが行われるため、
ハードリンクコピー(cp ) 十分なものです。

リポジトリをトランザクション 5 にリセットする最初のステップ、妥協していない最後のステップ
トランザクションは、 ヒント.N & インデックス.N リポジトリ内のファイル (これら XNUMX つのファイル
常に消耗品です)。 この例では、N は 13 です。

次に、すべてのセグメント ファイルをセグメント ディレクトリから削除または移動します。 データ/ で始まります
ファイル6:

rm データ/**/{6..13}

以上です。

デメリット
データは追加されるだけで何も削除されないため、次のようなコマンドが実行されます。 プルーン or 削除 解放されない
ディスク領域ではなく、新しいトランザクションで削除されたものとしてデータにタグを付けるだけです。

編集することで、通常の操作と追加のみの操作を行き来できることに注意してください。
構成ファイルは「片道旅行」ではありません。

さらに 検討事項
追加専用モードは、Borg 以外のツールでは考慮されません。 rm まだ作業中です
リポジトリ。 バックアップ クライアント マシンが次の方法でのみリポジトリにアクセスできるようにします。
ボルグ 役立つ.

リポジトリが一時的に通常に設定されている場合は、リモート アクセスが不可能であることを確認します。
定期的な剪定などのモード。

さらに保護を実装することもできますが、これは Borg の範囲外です。 たとえば、ファイル
システムスナップショットまたはラッピング ボルグ 役立つ 新しいデータに特別なアクセス許可または ACL を設定する
ファイル。

onworks.net サービスを使用してオンラインで borgbackup を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad