2014-09-19 21:03:44 +0000 2014-09-19 21:03:44 +0000
32
32

インクリメンタルバックアップを行うROBOCOPYコマンド

ROBOCOPYのドキュメントに圧倒されています。ローカルファイルをネットワークドライブ(M)に増分バックアップしたいと思っています。できるだけ早く、ログファイルを残さず、画面に表示されるテキストをできるだけ少なくして実行したいと思っています。私のファイルはすべて1つのフォルダ(MyFolder)内のどこかにあり、多くの入れ子になったサブフォルダがあります。"インクリメンタル “とは、"新しいものや変更されたものだけをコピーする "という意味です。保存先の過去のファイルは削除したくありませんが、ファイルを変更した場合は新しいバージョンだけをコピーしたいです。また、ファイルを変更していない場合は、既存のバックアップファイルの上にコピーしたくありません。以下が正しいのでしょうか?(Win7 Enterpriseを実行しています。)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

ロボコピー以外の提案はしないでください。私は何をインストールすることはできません。そして、私はセキュリティのことは気にしていません。そのための人がいるんだから(欲しいかどうかは別として) ;-)

回答 (2)

43
43
43
2014-10-26 14:25:57 +0000

私は数年前から以下のスクリプトの変形版をうまく使っています。

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

パラメータ説明

  • /MIR オプション (/E /PURGE と同等) は “mirror” の略で、最も重要なオプションです。これはソースフォルダを “マスター "とみなし、 robocopy はソースの変更(新しいファイルや削除など)をターゲットにコピー/ミラーリングします。

  • /FFT は非常に重要なオプションで、ファイルのタイムスタンプを比較する際に 2 秒の差をつけることができます。これにより、ファイルの変更時刻が正確に同期されていなくても、変更されたファイルのみがコピーされるようになります。

  • /R:3 は接続に失敗した場合の再試行回数を指定し、/W:10 は再試行間の待ち時間を 10 秒に指定します。これらは、ネットワーク上でバックアップを行う場合に便利なオプションです。

  • /Z は「再起動モード」でファイルをコピーします。

  • /NP/NDL は一部のデバッグ出力を抑制しますが、さらに /NS, /NC, /NFL, /XJD を追加して出力量をさらに減らすことができます (詳細は ドキュメント を参照してください)。しかし、すべてが期待通りに動作していることを確認するために、最初の実行時にデバッグ出力を表示することをお勧めします。

他のユーザが言及しているその他の有用なパラメータ

  • /MT[:N] ディレクトリの「分岐点」や、バックアップ中に無限ループのような問題を引き起こす可能性のあるシンボリックリンクを除外しています。詳細は Brian さんのコメントを参照してください。

  • /MIR はマルチスレッドを使用しており、多くの小さなファイルの転送を高速化することができます。Nについては、通常のマシンではコア数の2-4倍の値で十分です。コメントは Zoredache が元の質問にコメントしています。

Grangerさんのコメントに対する編集:

もし本当にソース側ではなく、宛先側に存在するファイルを保持したいのであれば、単に/Eオプションを/MIRに置き換えてください。ただし、インクリメンタルバックアップのために宛先を使用したい場合は、0x6&を使用することを強くお勧めします。そうしないと、ソース側で名前を変更したり移動させたりしたファイルが保存先を乱雑にしてしまい、重複したファイルが出てきてしまいます。私は通常、コピー元のフォルダツリーを1:1でコピーした「バックアップ」というサブフォルダをコピー先に作成します。そうすることで、バックアップフォルダの隣に歴史的なファイルを残しておくことができ、後で安全に削除したり再編成したりすることができます。

8
8
8
2015-01-20 18:58:26 +0000

私は以下のように使うのが好きです。

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

私はこれを管理者として実行しているので、バックアップモード(/b オプション)で使用中のファイルのコピーを作成することができます。

バックアップの増分性とは関係ないその他のオプションは以下の通りです。

/XD バックアップからディレクトリを除外する。

/XJD ジャンクションポイント(「マイミュージック」)を除外する。

/R:0 失敗した場合のリトライを0に設定する。

できるだけ多くのロギング情報を削除するには、以下のオプション /XA:SH を追加してください。