Pocket

robocopyでWindows7のローカルファイルを別マシンに自動バックアップする方法

  • add this entry to hatena bookmark

Windows7 に標準で付属している「robocopy」コマンドを使うと、Windows上のフォルダ/ファイルを指定の場所に複製する事が出来ます。指定のフォルダを別のWindowsマシンに自動バックアップしてみましたので、内容を簡単ですが記録しておきます。

手順概要

以下のとおり、作業を進めます。

  1. robocopyのコマンドを組み立てて、バッチファイルにする
  2. バッチファイルをタスクスケジューラで自動実行させる設定をする

1.robocopyのコマンドを組み立てて、バッチファイルにする

robocopyでローカルフォルダを別のマシンにコピーするコマンドを組み立てます。

私が今回使うコマンドは幾つかのオプションを入れました。以下のような感じです。

robocopy "C:\Data" "\\サーバー\共有\パス" /MIR /R:3 /W:30 /LOG+:"C:\logs\robocopy.log" /NP /XJD /XJF

各値の説明は以下になります。「robocopy /?」からの抜粋です。

  • /MIR
    • 完全なディレクトリ ツリーをミラー化します。
    • /MIR はファイルをコピーできるだけでなく、削除もできます。
  • /R:3
    • 再試行オプションで、失敗したコピーに対する再試行数です。既定値は1,000,000です。これは多すぎるので「3」で設定しました。
  • /W:30
    • 再試行オプションで、再試行と再試行の間の待機時間です。既定値は「30」ですので、そのままです。(設定しなくても良いわけですが、明示的に設定しておきました)
  • /LOG+:”ログファイルのパス”
    • ログ ファイルに状態を出力します (既存のログ ファイルに追加します。)
  • /NP
    • 進行状況なし – コピーの完了率を表示しません。
  • /XJD
    • ディレクトリの接合ポイントを除外します。
    • この文言は意味の把握が難しいですが、設定したほうが良い環境が多いらしいです。
  • /XJF
    • ファイルの接合ポイントを除外します。
    • この文言は意味の把握が難しいですが、設定したほうが良い環境が多いらしいです。

作成したコマンドは、バッチファイルとして保存します。ファイル名は「robocopy.bat」とします。

タスクマネージャで実行する前に、作成したバッチファイルを実行し、内容に問題ない事、ちゃんとrobocopyを実行出来る事を確認しておきます。

実行するには、エクスプローラで「robocopy.bat」ファイルを右クリックし「管理者として実行(A)…」をクリックします。

robocopy_admin

robocopy の実行結果として、別マシンにファイルが複製された事を確認します。また、指定の場所にログファイルが作成されますので、その内容も確認します。

2.バッチファイルをタスクスケジューラで自動実行させる設定をする

次に、タスク スケジューラで、タスクを作成し、「robocopy.bat」を1日1回の頻度で指定の時間に自動実行する設定を施します。

まず、タスクスケジューラを起動します。

task_scheduler

左ペインの「タスク スケジューラ ライブラリ」を右クリックし、「タスクの作成」をクリックし、タスクを作成します。

いくつかのタブがありますが、設定する内容は直観的に分かりやすいかと思います。そんな中でもポイントは以下になります。

  • 「全般」タブ
    • 「最上位の特権で実行する」チェックボックスにチェックします。これをチェックしないと実行されません。先ほど、エクスプローラから実行する際に、「管理者として実行(A)…」をクリックして実行した部分に該当する設定項目です。

「トリガー」タブで実行スケジュールを設定しますが、本格的にタスクを回す前に、テスト的に3分後ぐらいに実行するようにしてみて、ちゃんと動くかどうかを確認してください。

task_trigger

以上で、robocopyを使って、ローカルにあるファイルを別の場所にミラーする事が出来ました。

robocopyは、かなり賢いコマンドです。コピー元で消したファイルがあればコピー先でも消してくれたり、更新したファイルだけをミラーしてくれるのでトラフィックが抑えられたり、とても便利です。

私はDropboxを使っていますので、Dropboxフォルダにバックアップしておきたいファイルをrobocopyを使って入れておくという使い方もしています。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。