web-dev-qa-db-ja.com

インクリメンタルドライブバックアップ用のRobocopyスイッチ?

私は2つのハードドライブを持っています:

G:はWindows 10 PCに接続された外付けUSBドライブです。H:はネットワークドライブです(ホームネットワークルーターのUSBポートのUSBポートに接続された別のUSBドライブ)。

すべてのファイルとサブフォルダーをG:/ my_data_folderからH:/ my_data_folderにコピーしました。現在、H:/ my_data_folderはG:/ my_data_folderの正確なコピーです。

ここで、Win10 PCで定期的に実行できるRobocopyコマンドを作成します。このコマンドは、G:からH:にコピーされます。

  • h:/ my_data_folderにまだ存在しないG:/ my_data_folder内のファイル/フォルダー
  • g:/ my_data_folder内の、H:/ my_data_folderに既に存在するが、より新しいバージョンである(つまり、より最近保存された)ファイル。この新しくコピーされたファイルは、H:上の古いファイルを上書きします。

Robocopyについての私の理解では、同じ日時の既存のファイルをコピーしないことがデフォルトの動作であるため、それらを明示的に除外する必要はありません。

H:/ my_data_folderにG:/ my_data_folderをミラーリングさせたくありません。つまり、G:/ my_data_folderに存在しない場合でも、H:/ my_data_folderから何も消去しないでください。

ログファイルは必要ありませんが、画面上で何が行われたかを確認したいと思います。

適切なrobocopyコマンドを作成する試みは次のとおりです。

robocopy g:/my_data_folder h:/my_data_folder /e /np /fft /mt:8 /z /r:5 /w:5

どこ:

  • / e =空のディレクトリもコピーする
  • / np =ファイルコピーの進行状況なし-必要ありません
  • / fft =ネットワークドライブが原因で日付/時刻エラーが発生した場合
  • / mt:8 = 8つの同時スレッドを使用して処理を高速化
  • / z =再起動可能なモード。中断された転送から回復できます。
  • / r:5 =最大5回の再起動を試行
  • / w:5 =再起動の間に5秒待つ

これは私が望むことをしますか?そのようなタスクの重要なスイッチを見逃したことがありますか?

ありがとう。

2
Jim_1234

スクリプトはそのままで完璧です。

Harrymcの答えでなされた少し紛らわしい「万が一に備えて/XXを使用する」という議論に対処するためだけに:

"ターゲットフォルダでの削除を避けるために、/XXスイッチを追加することをお勧めします。これはデフォルトであるはずですが、念のため明示的に追加します。

「万が一に備えて」冗長スイッチを追加しないことをお勧めします。 /XXスイッチは、混乱を招く以外、状況に応じて何もしません。

他の回答で引用されている page は、その切り替えの目的が何であるかを明確に説明しています。

"/XX(exclude extra)/ Purgeまたは/ Mirと組み合わせて使用​​すると、exclude extraスイッチが優先され、ファイルが防止されます。宛先から削除されます。」

スクリプトには/MIRスイッチも/PURGEスイッチもないので、「万が一に備えて」/XXを追加するのは冗長であると100%確実に言えます。

私はRobocopyを何年も使用しており、/XXスイッチを使用せずに、何テラバイトものデータをプッシュしてきました。 Robocopyは、単一の「余分な」ファイルを一度も削除したことがありません。

さらなる説明が見られます ここ

それを片付けたかっただけです!

2
Mr Ethernet