これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rdiff-backup です。
プログラム:
NAME
rdiff-backup - ローカル/リモートのミラーおよび増分バックアップ
SYNOPSIS
rdiff-バックアップ [オプション] [[[ユーザー@]host1.foo]::ソースディレクトリ]
[[[ユーザー@]host2.foo]::宛先ディレクトリ]
rdiff-バックアップ {{ -l | --リストの増分 } | ---より古いものを削除 時間間隔 | --リストの-
時間 時間 | --list-changed-since 時間 | --list-increment-sizes | - 確認 | --確認先-
時間 時間} [[[ユーザー@]host2.foo]::宛先ディレクトリ]
rdiff-バックアップ -- 平均を計算する 統計ファイル1 統計ファイル2 ...
rdiff-バックアップ -- テストサーバー [user1]@host1.net1::path [[user2]@host2.net2::path] ...
DESCRIPTION
rdiff-バックアップ で書かれたスクリプトです パイソン(1) あるディレクトリを別のディレクトリにバックアップします。
ターゲット ディレクトリはソース ディレクトリのコピー (ミラー) になりますが、さらに逆になります。
diff はターゲット ディレクトリの特別なサブディレクトリに保存されるため、引き続き
しばらく前に失われたファイルを復元します。 ミラーの最良の機能を組み合わせることです。
そして増分バックアップ。 rdiff-backup はシンボリックリンク、特殊ファイル、
ハードリンク、権限、uid/gid の所有権、および変更時刻。
rdiff-バックアップ また、パイプ上で帯域幅効率の良い方法で動作することもできます。 rsyncとします。
したがって、ssh と rdiff-backup を使用してハードドライブをリモートに安全にバックアップできます。
位置が異なり、相違点のみが送信されます。 デフォルト設定を使用すると、
rdiff-backup では、リモート システムが ssh 接続を受け入れる必要があります。 rdiff-バックアップ
リモート システム上のユーザーの PATH にインストールされます。 その他のオプションについては、
のセクションを参照してください 遠隔地 操作。
あなたが すべき 書きます 〜へ ミラー ディレクトリにジョブを開始します。 rdiff-backup を除く。 たくさんの
増分は逆差分として保存されるため、ファイルを削除または変更すると、
そのファイルの前のバージョンを復元する機能が失われます。
最後に、このマニュアル ページは、動作と動作を正確に説明することを目的としています。
rdiff-backup の構文。 新しいユーザーは、含まれている example.html ファイルをチェックしてみるとよいでしょう。
rdiff-backup ディストリビューション内。
OPTIONS
-NS、 --バックアップモード
最初の引数が増分ファイルまたはミラー ファイルであるように見える場合でも、バックアップ モードを強制します。
-- 平均を計算する
平均計算モードに入ります。 引数には統計の数を指定する必要があります
ファイル。 rdiff-backup は、リストされた統計ファイルの平均を出力します。
出口。
--カーボンファイル
MacOS X カーボンファイル情報のバックアップを有効にします。
--チェック先ディレクトリ
rdiff-backup セッションが失敗した場合、このオプションを指定して rdiff-backup を実行すると、
宛先ディレクトリは、失敗したディレクトリを元に戻します。 これは、次の場合に自動的に行われます。
ディレクトリにバックアップしようとしましたが、最後のバックアップは失敗しました。
- 比較
これは '--時間で比較 今'
-- 同時に比較 時間
ディレクトリと、指定された時点のバックアップ セットを比較します。 これは次のような場合に役立ちます。
アーカイブされたデータが現在のデータとどのように異なるかを確認するか、バックアップが保存されていることを確認します。
現在。 これは、rdiff-backup がメタデータを比較するだけで、
ファイルが変更されました。
--比較-完全
これは '--フルアットタイムで比較 今'
--フルアットタイムで比較 時間
ディレクトリと、指定された時点のバックアップ セットを比較します。 通常のものを比較するには
ファイルを削除すると、リポジトリ データ全体がソース側にコピーされ、
バイトごとに比較します。 これは最も遅いですが、最も完全な比較オプションです。
--比較ハッシュ
これは ' -- ハッシュを一度に比較 今'
-- ハッシュを時間で比較 時間
ディレクトリと、指定された時点のバックアップ セットを比較します。 通常のファイルは
ソース側で SHA1 ダイジェストを計算し、それを
メタデータに記録されるダイジェスト。
--作成フルパス
通常、宛先パスの最後のディレクトリのみが作成されます。
存在しない。 このオプションを使用すると、宛先パス上に存在しないすべてのディレクトリが削除されます。
が作成されます。 このオプションは注意して使用してください。リモート パスにタイプミスがある場合は、
リモート ファイルシステムは (重複したバックアップを作成することにより) すぐにいっぱいになる可能性があります。
木)。 このため、このオプションは主に自動化するスクリプトを対象としています。
バックアップ。
- 現在の時刻 秒
このオプションは主にテストに役立ちます。 設定されている場合、rdiff-backup はそれを使用します。
時計を参照する代わりに現在時刻を確認します。 引数は次の数です。
エポックからの秒数。
-除外する シェルパターン
一致するファイルを除外します シェルパターン。 ディレクトリが一致した場合、
そうすれば、そのディレクトリの下にあるファイルも照合されます。 を参照してください。 FILE SELECTION
詳細については、セクションを参照してください。
--除外デバイスファイル
すべてのデバイス ファイルを除外します。 これは、セキュリティ/権限上の理由から役立つ場合があります。
rdiff-backup がデバイス ファイルを正しく処理していない場合。
--exclude-fifo
すべての fifo ファイルを除外します。
--除外ファイルリスト ファイル名
にリストされているファイルを除外します。 ファイル名。 場合 ファイル名 おそらく手書きです
欲しいです --exclude-globbing-filelist その代わり。 を参照してください。 FILE SELECTION 詳細についてはセクション
情報を表示します。
--exclude-filelist-stdin
いいね --除外ファイルリスト、 ただし、ファイルのリストは標準入力から読み取られます。
ジョブの設定方法については、 FILE SELECTION 詳細については、セクションを参照してください。
--exclude-globbing-filelist ファイル名
いいね --除外ファイルリスト ただし、ファイルリストの各行は次のように解釈されます。
~と同じルールに従う - 含む および --除外します。
--exclude-globbing-filelist-stdin
いいね --exclude-globbing-filelistただし、ファイルのリストは標準から読み取られます。
入力。
--他のファイルシステムを除外する
ファイル以外のファイル システム (デバイス番号で識別される) 上のファイルを除外します。
ソース ディレクトリのルートが存在するシステム。
--exclude-regexp 正規表現
指定された正規表現に一致するファイルを除外します。 とは異なり、 -除外する オプション、このオプション
は、一致するディレクトリ内のファイルと一致しません。 を参照してください。 FILE SELECTION のセクション
詳しくは。
--特殊ファイルを除外する
すべてのデバイス ファイル、FIFO ファイル、ソケット ファイル、およびシンボリック リンクを除外します。
--除外ソケット
すべてのソケット ファイルを除外します。
--シンボリックリンクを除外する
すべてのシンボリック リンクを除外します。 このオプションは、バックアップが行われている場合に自動的に有効になります。
NTFS 再解析ポイントのバックアップを避けるために、source はネイティブ Windows 上で実行されています。
--存在する場合は除外 ファイル名
次の場合はディレクトリを除外します ファイル名 が存在します。 このオプションは他のオプションよりも前に指定する必要があります
その他の包含または除外オプション。
- 力
通常よりも大幅なディレクトリの変更を許可します (たとえば、
宛先パスを上書きする場合、または複数のセッションを削除する場合
---より古いものを削除)。 通常、rdiff-backup はこれが必要かどうかを示します。
警告: このオプションを誤って使用すると、データ損失が発生する可能性があります。 また、絶対に行わないでください。
リストアを実行するときは、ファイルが削除されるため、このオプションを使用してください。
自分が何をしているのかを完全に知っています。
--グループマッピングファイル ファイル名
グループ マッピング ファイルに従ってグループ名と ID をマッピングします。 ファイル名。 見る
USERS そして グループ 詳細については、セクションを参照してください。
- 含む シェルパターン
そして -除外する ただし、代わりに一致したファイルを含めます。 とは異なり -除外する、 この
このオプションは、一致したファイルの親ディレクトリとも一致します (ただし、そうではありません)。
必ずその内容も含まれます)。 を参照してください。 FILE SELECTION 詳細については、セクションを参照してください。
--include-filelist ファイル名
いいね --除外ファイルリストですが、代わりにリストされているファイルを含めます。 もし ファイル名 is
あなたはおそらく欲しいと思う手書き --include-globbing-filelist その代わり。 を参照してください。 FILE
SELECTION 詳細については、セクションを参照してください。
--include-filelist-stdin
いいね --include-filelistですが、標準入力から含まれるファイルのリストを読み取ります。
--include-globbing-filelist ファイル名
いいね --include-filelist ただし、ファイルリストの各行は次のように解釈されます。
~と同じルールに従う - 含む および --除外します。
--include-globbing-filelist-stdin
いいね --include-globbing-filelistただし、ファイルのリストは標準から読み取られます。
入力。
--インクルード正規表現 正規表現
正規表現に一致するファイルを含める 正規表現。 明示的にファイルのみ
によって一致 正規表現 このオプションには含まれます。 を参照してください。 FILE SELECTION
をご覧ください。
--include-special-files
すべてのデバイス ファイル、FIFO ファイル、ソケット ファイル、およびシンボリック リンクを含めます。
--include-symbolic-links
すべてのシンボリック リンクを含めます。
--時間ごとのリスト 時間
指定された時点で存在していたアーカイブ内のファイルをリストします。 ディレクトリの場合
アーカイブ内が指定されている場合は、そのディレクトリの下にあるファイルのみをリストします。
--list-changed-since 時間
指定された時間以降に宛先ディレクトリ内で変更されたファイルをリストします。
詳細はこちら: タイム 書式 の形式の場合 時間。 アーカイブ内のディレクトリが
指定すると、そのディレクトリの下にあるファイルのみがリストされます。 このオプションは、
ソースディレクトリ; XNUMX つの異なる rdiff-backup の内容を比較するために使用されます。
セッション。
-l、 --リストの増分
指定されたファイルに含まれる部分増分バックアップの数と日付をリストします。
宛先ディレクトリ。 このオプションがオンの場合、バックアップまたは復元は行われません。
与えられた。
--list-increment-sizes
すべての増分ファイルとミラー ファイルの合計サイズを時間ごとにリストします。 これはもしかしたら
保持する増分数と --remove-older-than をいつ行うかを決定するのに役立ちます。
サブディレクトリの指定は可能です。 次に、ミラーのサイズのみと、
そのサブディレクトリに関連する増分がリストされます。
--最大ファイルサイズ サイズ
指定されたサイズ (バイト単位) より大きいファイルを除外します。
--最小ファイルサイズ サイズ
指定されたサイズ (バイト単位) より小さいファイルを除外します。
--never-drop-acls
acl または acl エントリを削除するのではなく、エラーで終了します。 普通はこうなるかもしれない
(警告付き) 宛先がそれらをサポートしていないため、または
該当するユーザー/グループ名が宛先側に存在しません。
--acls なし
アクセス制御リストなし - ACL のバックアップを無効にする
--カーボンファイルなし
MacOS X カーボンファイル情報のバックアップを無効にする
--no-compare-inode
このオプションは、rdiff-backup がハードリンクされたファイルに変更済みのフラグを付けるのを防ぎます。
デバイス番号や i ノードが変更されます。 このオプションは、次のような状況で役立ちます。
ソース ファイルシステムには永続的なデバイス番号や i ノード番号がありません。 例えば、
ネットワーク ファイルシステムでは、マウントごとにデバイス番号が異なる場合があります (ただし、
おそらく安定した i ノード番号)。 USB/1394 デバイスが別のデバイスで起動する場合がある
各再マウントの番号 (ただし、通常は同じ i ノード番号になります)。 そしてそこにあります
使用するたびに同じ i ノード番号さえ持たないファイルシステム。 それなし
オプション rdiff-backup は、不要な数の小さな diff ファイルを生成する可能性があります。
-圧縮なし
ほとんどの .snapshot および .diff 増分のデフォルトの gzip 圧縮を無効にします。
ファイルは rdiff-backup-data ディレクトリに保存されます。 バックアップ ボリュームには次のものを含めることができます
圧縮増分と非圧縮増分があるため、このオプションを一貫性なく使用すると危険です。
細かいです。
--圧縮なしの正規表現 正規表現
ファイル名が正規表現に一致するファイルに基づいて増分を圧縮しないでください。 の
デフォルトには、多くの一般的なオーディオビジュアル ファイルとアーカイブ ファイルが含まれており、次の場所にあります。
Globals.py。
--ノーイーズ
拡張属性はサポートされていません - EA のバックアップを無効にします。
--no-file-statistics
これにより、rdiff-backup-data 内の file_statistics ファイルへの書き込みが無効になります。
ディレクトリ。 rdiff-backup は実行速度がわずかに速くなり、占有するスペースも少し少なくなります。
--ハードリンクなし
宛先側でハードリンクを複製しないでください。 ハードリンクされたファイルが多数ある場合、
現在、このオプションによりメモリ使用量が大幅に削減される可能性があります。 このオプションは有効になっています
デフォルトでは、バックアップ元またはリストア先がネイティブで実行されている場合
ウィンドウズ。
--null セパレーター
行区切り文字として改行 (\n) の代わりにヌル (\0) を使用すると、次のような場合に役立ちます。
改行を含むファイル名を処理します。 これは、予期される形式に影響します。
--{include|exclude}-filelist[-stdin] スイッチで指定されたファイルと
ディレクトリ統計ファイルの形式。
-- 解析可能な出力
設定すると、rdiff-backup の出力はコンピュータで簡単に解析できるように調整されます。
人間の利便性の代わりに。 現在、これはリストする場合にのみ適用されます
を使用して増分します -l or --リストの増分 時間が与えられるスイッチ
エポックからの秒数。
--override-chars-to-quote
バックアップ先のファイルシステムが大文字と小文字を区別しない場合は、自動的に
文字の「引用」が発生します。 たとえば、ファイル「Developer.doc」は次のようになります。
「;068eveloper.doc」に変換されます。 この動作をオーバーライドするには、次のように指定する必要があります
このオプション。
--preserve-数値 ID
設定すると、rdiff-backup は uname を保持しようとするのではなく、uid/gid を保持します。
そしてグネーム。 を参照してください。 USERS そして グループ 詳細については、セクションを参照してください。
--印刷統計
設定すると、バックアップが成功した後に概要統計が出力されます。 設定されていない場合は、
この情報は引き続きセッション統計ファイルから入手できます。 を参照してください。
統計 詳細については、セクションを参照してください。
-NS、 --現状の復元 復元時間
指定したディレクトリを現在の状態に復元します 復元時間。 見る タイム 書式
の形式の詳細については、セクションを参照してください。 復元時間、およびを参照してください 復元
復元の詳細については、セクションを参照してください。
--remote-cmd CMD
廃止されました。 代わりに --remote-schema を使用してください
--リモートスキーマ スキーマ
リモート コンピューターに接続する別の方法を指定します。 これは必要です
rdiff-backup を取得するには、リモート バックアップに ssh を使用しません。または、たとえば rdiff-
バックアップがリモート側の PATH にありません。 を参照してください。 遠隔地 OPERATION のセクション
詳しくは。
--remote-tempdir path
--tempdir オプションを引数とともに追加します path のリモート インスタンスを呼び出すとき
rdiff-バックアップ。
---より古いものを削除 時間仕様
バックアップ先ディレクトリ内の増分バックアップ情報を削除します。
指定された時間よりも長く存在しました。 時間仕様 絶対時間、または
「2002-01-04」または時間間隔など。 時間間隔は整数の後に続きます。
秒、分、時、日を示す文字 s、m、h、D、W、M、または Y
それぞれ週、月、年、またはこれらを連結した数。 のために
たとえば、32m は 32 分を意味し、3W2D10h7s は 3 週間、2 日、10 時間、7 を意味します。
秒。 この文脈では、30 か月は 365 日、XNUMX 年は XNUMX 日、XNUMX 日は
常に 86400 秒。
rdiff-backup は、単一セッションで古いものを削除したり、バックアップまたは復元したりすることはできません。
ディレクトリをバックアップし、ディレクトリ内の古いファイルを削除するには、rdiff-
バックアップをXNUMX回行います。
デフォルトでは、rdiff-backup は一度に XNUMX つのセッションからのみ情報を削除します。
XNUMX つ以上のセッションを同時に削除するには、 - 力 オプション (rdiff-
バックアップは次のことを教えてくれます - 力 必要とされている)。
削除されたファイルのスナップショットはこの操作の対象となることに注意してください。 したがって、あなたが
XNUMX週間前にファイルを削除し、その直後にバックアップしてから、rdiff-を実行しました。
今日 --remove-older-than 10D を使用してバックアップを実行すると、そのファイルの痕跡は残りません。
最後に、--include や --exclude などのファイル選択オプションは影響しません。
--古いものを削除します。
- 制限 path
すべてのファイル アクセスは指定されたパス内にある必要があります。 このスイッチと、
次の XNUMX つは、 --server スイッチと一緒に使用して、ビットを提供することを目的としています。
自動リモートバックアップを実行する際の保護が強化されます。 彼らです 意図された as
の ライン of 防衛 したがって、一般アクセスを許可するなどの愚かなことはしないでください。
rdiff-backup サーバーは --restrict-read-only で実行されます。
--制限読み取り専用 path
いいね - 制限、ただし、すべての書き込みリクエストも拒否します。
--restrict-更新のみ path
いいね - 制限ただし、増分バックアップの一部として書き込みのみが許可されます。 リクエスト
他のタイプの書き込み (削除など) path)は拒否されます。
- サーバ
サーバー モードに入ります (直接呼び出すのではなく、別の rdiff によって使用されます)。
リモート コンピュータ上のバックアップ プロセス)。
--ssh-非圧縮
ssh を実行するときは、-C オプションを使用して圧縮を有効にしないでください。 --ssh-いいえ-
を使用して新しいスキーマを指定した場合、無視されます。 --リモートスキーマ。
--tempdir path
rdiff-backup が一時ファイルとして使用するディレクトリを指定されたパスに設定します。
環境変数 TMPDIR、TEMP、および TMP を使用して、
一時ファイルのディレクトリ。 詳細については、Python tempfile モジュールのドキュメントを参照してください。
詳しくは。
--端末の冗長性 [0-9]
端末に表示するメッセージを選択します。 レベルが足りない場合
デフォルトは冗長レベルです。
-- テストサーバー
に指定されている互換性のある rdiff-backup サーバーの存在をテストします。
次の host::filename 引数。 ファイル名セクションは無視されます。
-- ユーザーマッピングファイル ファイル名
ユーザー マッピング ファイルに従ってユーザー名と ID をマッピングします。 ファイル名。 見る USERS
そして グループ 詳細については、セクションを参照してください。
-v[0-9], -冗長性 [0-9]
詳細レベルを指定します (0 は完全にサイレント、3 はデフォルト、9 は最も騒々しい)。
これにより、ログ ファイルに書き込まれる量が決まります。
- 確認
これは略称です -- 同時に検証 今
-- 同時に検証 今
SHA1 ハッシュを計算して、指定された時点のリポジトリ内のすべてのデータを確認します。
すべての通常ファイルを抽出し、それらをメタデータに保存されているハッシュと比較します。
ファイルにソフトウェアを指定する必要があります。
-V、 - バージョン
現在のバージョンを印刷して終了します
復元
rdiff-backup にファイルまたはディレクトリを復元するように指示するには XNUMX つの方法があります。 まず、できることは、
ミラー ファイルに対して rdiff-backup を実行し、 -r or --現状の復元 オプション。 第二に、
増分ファイルで実行できます。
たとえば、過去に次のコマンドを実行したとします。
rdiff-バックアップ / usr /usr.backup
バックアップするには / usr ディレクトリを /usr.backup ディレクトリにコピーし、そのコピーが必要になります。
/ usr / local ディレクトリは 3 日前と同じように /usr/local.old に配置されます。
これを行う XNUMX つの方法は、次を実行することです。
rdiff-backup -r 3D /usr.backup/local /usr/local.old
ここで、上記の「3D」は 3 日を意味します (時間を指定する他の方法については、 タイム
書式 セクション)。 /usr.backup/local ディレクトリが選択されました。
/usr/local の現在のバージョンを含むディレクトリ。
次のオプションがあることに注意してください。 --現状の復元 常に正確な時間を指定します。 (つまり、「3D」とは
現在から 72 時間前の時点まで) その時点でバックアップが作成されていなかった場合、
rdiff-backup は、以前のバックアップで記録された状態を復元します。 たとえば、
上記の場合、「3D」を使用しており、2日前と4日前のバックアップしかない場合、
/ usr / local 4日前の状態が復元されます。
ファイルを復元する XNUMX 番目の方法では、対応する増分ファイルを検索します。 それ
/backup/rdiff-backup-data/increments/usr ディレクトリにあり、その名前は次のようになります。
「local.2002-11-09T12:43:53-04:00.dir」のようなもので、時刻は 3 からであることを示しています
数日前。 増分ファイルはすべて「.diff」、「.snapshot」、「.dir」、または「.dir」で終わることに注意してください。
「.missing」。「.missing」は、その時点ではファイルが存在しなかったことを意味します(最後に、
これらの一部は gzip 圧縮されており、これを示す追加の「.gz」が付いている場合があります)。 それから
ランニング:
rdiff-backup /backup/rdiff-backup-data/increments/usr/local。 .dir
/usr/local.old
必要に応じてファイルも復元されます。
必要なファイルのバージョンが正確にわからない場合は、おそらく次の方法が最も簡単です。
直前に説明したように増分ファイルから復元するか、どのファイルがどれであるかを確認します。
-l/--list-increments で増分を利用でき、正確な時間を指定します。
-r/--現状の復元。
タイム 書式
rdiff-backup は XNUMX か所で時刻文字列を使用します。 まず、すべての増分ファイルが rdiff-
バックアップ作成のファイル名には、w3 日時形式で時刻が含まれます。
w3 ノートに記載されています。 http://www.w3.org/TR/NOTE-datetime。 基本的には次のように見えます
「2001-07-15T04:09:38-07:00」、これはどのようなものかを意味します。 「-07:00」セクションは、
タイムゾーンは UTC から 7 時間遅れています。
第二に、 -r, --現状の復元, および ---より古いものを削除 オプションには時間文字列を指定します。
これは、いくつかの形式のいずれかで指定できます。
1. 文字列「now」(現在の時刻を指します)
2. 「123456890」のような一連の数字(秒後の時間を示します)
時代)
3. 日時形式の「2002-01-25T07:00:00+02:00」のような文字列
4. 間隔。数値の後に s、m、h、D、W、M、のいずれかの文字が続きます。
または Y (秒、分、時間、日、週、月、または年を示します)
それぞれ)、または一連のそのようなペア。 この場合、文字列は
現在時刻から間隔の長さだけ前の時刻。 例えば、
「1h78m」は78時間XNUMX分前の時刻を示します。 カレンダーはこちら
単純です: 30 か月は常に 365 日、XNUMX 年は常に XNUMX 日、そして XNUMX 日
は常に 86400 秒です。
5. YYYY/MM/DD、YYYY-MM-DD、MM/DD/YYYY、または MM-DD-YYYY 形式の日付形式。
現在のタイムゾーンを基準にして、該当する日の午前 XNUMX 時を示します
設定。 たとえば、「2002/3/5」、「03-05-2002」、「2002-3-05」はすべて XNUMX 月を意味します。
5年2002日。
6. バックアップ セッション仕様。負でない整数の後に「B」が続きます。
たとえば、「0B」は現在のミラーの時間を指定し、「3B」は現在のミラーの時間を指定します。
3 番目に新しい増分の時刻。
遠隔地 OPERATION
リモート ファイルにアクセスするために、rdiff-backup は rdiff-backup のコピーへのパイプを開きます。
リモートマシン上で実行されています。 したがって、rdiff-backup は両端にインストールする必要があります。 開く
このパイプでは、rdiff-backup はまずファイル名を host_info::pathname に分割します。 それなら
host_info をリモート スキーマに置き換え、結果のコマンドを実行して、そのスキーマを読み取ります。
入出力。
デフォルトのリモート スキーマは「ssh -C %s rdiff-backup --server」です。ここで、host_info は
「%s」に置き換えられます。 したがって、host_info が [メール保護]、次に rdiff-backup が 'ssh を実行します
[メール保護] rdiff-backup --server'。 --remote-schema を使用すると、rdiff-backup は
リモートパイプを開くための任意のコマンド。 例えば、
rdiff-backup --remote-schema 'cd / usr; %s' foo 'rdiff-backup --server'::bar
基本的には と同等 (ただし、より遅い)
rdiff-backup foo /usr/bar
引用に関して、何らかの理由で引用文内に XNUMX つの連続したコロンを入れる必要がある場合は、
host_info::pathname 引数の host_info セクション、またはローカル ファイルのパス名、
バックスラッシュを先頭に追加することで、そのうちの XNUMX つを引用できます。 したがって、「a\::b::c」では、host_info は次のようになります。
「a::b」、パス名は「c」です。 同様に、ローカルファイルを参照したい場合、
ファイル名に「strange::file」のように XNUMX つの連続したコロンが含まれている場合は、XNUMX つを引用符で囲む必要があります
「strange\::file」のようなコロン。 これらのバックスラッシュは引用符文字であるため、
場合によっては、リテラルのバックスラッシュを取得するには引用符で囲む必要があるため、「foo\::\\bar」となります。
'foo::\bar' として評価されます。 バックスラッシュも含まれるため、物事はさらに複雑になります。
一般的なシェル引用文字の場合、シェル プロンプトで「\\\\」と入力する必要がある場合があります。
文字通りのバックスラッシュを取得します (気分が良くなる場合は、バックスラッシュを 8 つ入力する必要がありました)
このマニュアルページでそれを入手してください...)。 最後に、文字列にリテラルの % を含めます。
--remote-schema で指定した場合は、%% のように別の % で囲みます。
ssh 自体は安全かもしれませんが、デフォルトの方法で rdiff-backup を使用すると、問題が発生します。
セキュリティ上のリスク。 たとえば、サーバーが root として実行されている場合、攻撃者は
侵害されたクライアントは、rdiff-backup を使用して任意のサーバー ファイルを上書きする可能性があります。
それらを「バックアップ」します。 このような設定は、sshd を使用することでより安全になります。
構成オプション コマンド = "rdiff-バックアップ - サーバ" おそらくそれと一緒に - 制限*
rdiff-backup のオプション。 詳細については、Web ページ、Wiki、および
のエントリ - 制限* このマニュアルページのオプション。
FILE SELECTION
rdiff-バックアップ には、多数のファイル選択オプションがあります。 rdiff-backup を実行すると、
指定されたソース ディレクトリを検索し、一致するすべてのファイルをバックアップします。
指定されたオプション。 この選択システムは複雑に見えるかもしれませんが、次のようになります。
柔軟で使いやすい。 基礎だけを学びたい場合は、まずこちらをご覧ください。
選択例は、パッケージに含まれる example.html ファイル、または Web 上にあります。
http://rdiff-backup.nongnu.org/examples.html
rdiff-バックアップの選択システムはもともと からインスピレーションを受けました rsync(1)ですが、たくさんあります。
違い。 (たとえば、末尾のバックスラッシュには特別な意味はありません。)
ファイル選択システムは、設定された多数のファイル選択条件で構成されます。
次のコマンド ライン オプションのいずれかを使用します。 -除外する, --除外ファイルリスト, --除外-
デバイスファイル, --exclude-fifo, --除外ソケット, --シンボリックリンクを除外する, --除外-
グロビングファイルリスト, --exclude-globbing-filelist-stdin, --exclude-filelist-stdin, --除外-
正規表現, --特殊ファイルを除外する, - 含む, --include-filelist, --グロビングを含む-
ファイルリスト, --include-globbing-filelist-stdin, --include-filelist-stdin, - 含む-
正規表現。 各ファイル選択条件は、特定のファイルに一致するか、または一致しません。 あ
指定されたファイルは、最初に一致するファイルが見つかった時点でファイル選択システムによって除外されます。
選択条件は、ファイルを除外することを指定します。 それ以外の場合、ファイルはインクルードされます。
バックアップ時にファイルが除外されている場合、rdiff-backup はそのファイルが存在しないかのように動作します。
ソースディレクトリ内。 復元時、除外されたファイルは存在しないものとみなされます。
ソースディレクトリまたはターゲットディレクトリのいずれか。
例えば、
rdiff-backup --include / usr -除外する / usr / usr /バックアップ
とまったく同じです
rdiff-バックアップ / usr /バックアップ
include ディレクティブと exclude ディレクティブがまったく同じファイルに一致するため、 - 含む
が最初に来て優先されます。 同様に、
rdiff-backup --include / usr / local / bin -除外する / usr / local / usr /バックアップ
をバックアップします / usr / local / bin ディレクトリ (およびその内容) は含まれますが、/usr/local/doc は含まれません。
AIマーケティング業界は、 include, 除外する, インクルード グロビング ファイルリスト, グロビングファイルリストの除外 オプション
許可 で shell グロビング パターン。 これらのパターンには特別なパターンが含まれる場合があります
*, **, ?, [...]。 通常のシェルと同様に、 * 任意の文字列に展開できます
「/」を含まない、 ? 「/」を除く任意の文字に展開され、 [...] 単一に拡張されます
指定された文字のうちの文字 (範囲は許容されます)。 新しい特殊パターン、
**、「/」が含まれているかどうかに関係なく、任意の文字列に展開されます。 さらに、
パターンは「ignorecase:」 (大文字と小文字は区別されません) で始まり、このプレフィックスは削除されます。
文字列内の任意の文字は、大文字または小文字のバージョンに置き換えることができます。
そのもの。
上記のグロビング文字を含むファイル名を照合する必要がある場合は、次のようになります。
バックスラッシュ「\」を使用してエスケープしました。 バックスラッシュはその後の文字のみをエスケープします
ので ** へのエスケープを避けるために、「\*\*」を使用する必要があります。 * グロブキャラクター。
これらの文字をシェルに入力するときは、引用符で囲む必要がある場合があることに注意してください。
シェルは、rdiff-backup がグロビング パターンを認識する前にグロビング パターンを解釈しません。
AIマーケティング業界は、 -除外する パターン オプションは次の場合にファイルと一致します。
1. パターン ファイルのファイル名に展開できます。または、
2. ファイルは、オプションに一致するディレクトリ内にあります。
逆に、 - 含む パターン 次の場合にファイルと一致します。
1. パターン ファイルのファイル名に展開できます。
2. ファイルがオプションに一致するディレクトリ内にある、または
3. ファイルは、オプションに一致するファイルを含むディレクトリです。
たとえば、
-除外する / usr / local
マッチ / usr / local, / usr / local / lib、および/usr/local/lib/netscape。 それは同じです
-除外する / usr / local --除外 '/ usr /ローカル/**」。
- 含む / usr / local
を指定します / usr, / usr / local, / usr / local / lib、および /usr/local/lib/netscape (ただし、
/usr/doc) すべてバックアップする必要があります。 したがって、親を含めることを心配する必要はありません
ディレクトリを編集して、含まれるサブディレクトリに移動先があることを確認します。 ついに、
- 含む 大文字と小文字を区別しない:'/ usr /[a-z0-9]foo/*/**.py'
/usR/5fOO/hello/there/world.py のようなファイルと一致します。 何かが一致した場合は、
/usr にも一致します。 指定されたパターンを使用できる既存のファイルがない場合は、
に展開すると、オプションは /usr と一致しません。
AIマーケティング業界は、 --include-filelist, --除外ファイルリスト, --include-filelist-stdin, --除外-
ファイルリスト標準入力 オプションではファイル選択条件も導入されます。 rdiff-backup を指示します
各行がファイル仕様であるファイルを読み取り、含めるか除外する
一致するファイル。 行は、改行またはヌルで区切られます。
--null-separator スイッチが指定されました。 ファイルリストの各行は次のように解釈されます。
方法 で shell パターン いくつかの例外を除き、次のとおりです。
1. グロビングパターンのような *, **, ?, [...] 拡張されていません。
2. インクルード パターンは、インクルードされるディレクトリ内のファイルと一致しません。 それで / usr / local
インクルード ファイル内の は /usr/local/doc と一致しません。
3. 「+」で始まる行は、たとえ
によって参照されるファイルリスト --除外ファイルリスト。 同様に、「-」で始まる行も
ファイルがインクルード ファイルリスト内で見つかった場合でも、ファイルを除外します。
たとえば、ファイル「list.txt」に次の行が含まれているとします。
/ usr / local
- /usr/local/doc
/ usr / local / bin
+ / var
- / var
その場合、「--include-filelist list.txt」には以下が含まれます。 / usr, / usr / local、および/usr/local/bin。 それ
/usr/local/doc、/usr/local/doc/python などは除外されます。除外もされません。
含ま / usr / local / man、このディレクトリの運命は次の仕様に委ねられます
状態。 最後に、/var で何が起こるかは未定義です。 単一のファイルリストは、
矛盾するファイル仕様が含まれていないこと。
AIマーケティング業界は、 --include-globbing-filelist および --exclude-globbing-filelist オプションでも指定します
ファイルリストですが、ファイルリストの各行はグロビングパターンとして解釈されます。
- 含む および -除外する オプションは解釈されます (ただし、接頭辞「+」と「-」は依然として残ります)
許可された)。 たとえば、ファイル「globbing-list.txt」に次の行が含まれているとします。
dir / foo
+ ディレクトリ/バー
- **
その場合、「--include-globbing-filelist globbing-list.txt」は次とまったく同じになります。
コマンドラインで「--include dir/foo --include dir/bar --exclude **」を指定します。
最後に、 --インクルード正規表現 および --exclude-regexp ファイルを含めたり除外したりできるようにする
ファイル名が Python の正規表現と一致する場合。 正規表現構文も
ここで説明するのは複雑ですが、Python のライブラリ リファレンスで説明されています。 とは異なり、
- 含む および -除外する オプション、正規表現オプションがファイルと一致しません
一致するファイルを含む、またはそれに含まれるファイル。 たとえば
--「[0-9]{7}(?!foo)」を含める
フルパス名に続く 7 桁の連続数字が含まれるファイルと一致します。
「フー」によって。 ただし、それは一致しません /ホーム /home/ben/1234567 が存在していたとしても。
USERS そして グループ
システム間で所有権を維持する際に複雑な問題が発生する可能性があります。 たとえばユーザー名
ソース システム上のファイルを所有するファイルが宛先に存在しない可能性があります。 その方法は次のとおりです
rdiff-backup は、ソースの所有権を宛先にマップします (またはその逆の場合)。
復元の):
1. --preserve-numerical-ids オプションが指定されている場合、リモート ファイルには常に
所有権と ACL エントリの両方に同じ uid と gid。 これにより名前が失われる可能性があります
そして変更するgname。
2. それ以外の場合は、所有権および ACL にユーザー名とグループ名を保存しようとします。
これにより、システム間でファイルの uid と gid が異なる場合があります。
3. 名前を保存できない場合(ユーザー名が存在しないなどの理由で)、保存します。
元の ID ですが、ユーザーとグループの所有権がある場合に限ります。 ACL の場合は省略します。
不正なユーザー名またはグループ名を持つエントリ。
4. AIマーケティング業界は、 -- ユーザーマッピングファイル および --グループマッピングファイル オプションはこの動作をオーバーライドします。
これらのオプションのいずれかが指定された場合、上記の 2 と 3 で説明したポリシーが適用されます。
続いて、元のユーザーとグループの代わりにマップされたユーザーとグループを使用します。 もし、あんたが
両方を指定する --preserve-数値 ID マッピング オプションの XNUMX つである動作
未定義です。
ユーザーとグループのマッピング ファイルはどちらも同じ形式です。
古い名前または ID1:新しい名前または ID1
古い名前または ID2:新しい名前または ID2
各行には名前または ID が含まれ、その後にコロン「:」、その後に別の名前が続く必要があります。
またはID。 名前または ID がリストされていない場合は、説明されているデフォルトの方法で処理されます。
上記。
復元する場合も上記の動作に従いますが、元のソースが
すでにマッピングされているユーザー/グループ情報ではなく、ユーザー/グループ情報が入力となります。
バックアップ リポジトリに存在します。 たとえば、すべてのファイルをマップしたとします。
が所有している ショット が所有されるようにソース内に含めます。 よく リポジトリ内で、今あなたは
が元々所有していたファイルを確認して復元したいと考えています。 ショット まだ所有されています ショット.
この場合、マッピング オプションを使用する必要はありません。 ただし、ご希望であれば
ファイルを復元して、元々所有していたファイルを復元します。 ショット ソース上にあるのは今です
が所有している よく場合でも、マッピング オプションを使用する必要があります。
復元されたファイルに保存されているリポジトリのファイルの名前。
統計
すべてのセッション rdiff-backup は、さまざまな統計を XNUMX つのファイル (セッション統計) に保存します。
rdiff-backup-data/session_statistics にあるファイル。 .data とディレクトリ統計ファイル
rdiff-backup-data/directory_statistics にあります。 。データ。 どちらもテキスト ファイルであり、
同様の情報が含まれます: 変更されたファイルの数、削除されたファイルの数、合計サイズ
作成された増分ファイルなど。ただし、セッション統計ファイルは、
非常に読みやすく、セッション全体についてのみ説明しています。 ディレクトリ統計ファイルは次のとおりです。
よりコンパクト (そして若干読みにくくなります) ですが、バックアップされたすべてのディレクトリについて説明します。 それ
スペースを節約するために圧縮される場合もあります。
統計関連のオプションには次のものがあります。 --印刷統計 および --null セパレーター.
また、rdiff-backup はさまざまなメッセージをログ ファイル (rdiff-backup-) に保存します。
バックアップ セッションの場合は data/backup.log、復元の場合は rdiff-backup-data/restore.log
セッション。 通常、このファイルに書き込まれる内容はメッセージと一致します。
stdout または stderr に表示されますが、これは --端末の冗長性
オプションを選択します。
ログ ファイルは圧縮されていないため、rdiff-backup を高い速度で実行すると非常に大きくなる可能性があります。
冗長性。
EXIT ステータス
rdiff-backup が正常に終了すると、終了ステータスは 0 になります。
回復不可能な (重大な) エラー。ゼロ以外になります (通常は 1 ですが、これには依存しません)
特定の値)。 rdiff-backup を自動的に実行するように設定するとき (次のように) cron(8)または
同様) 終了コードを確認することをお勧めします。
onworks.net サービスを使用してオンラインで rdiff-backup を使用する