robocopyでフォルダバックアップする時のコマンドの作り方
windowsを使ってる人向け、
「robocopy」を使ったバックアップ時のコマンド作りをお手伝いをします。
以下にコピー元、コピー先のフォルダを入力するとコマンドを作成できるフォームを用意しました。
このまま使えるとは思いますが、細かな設定やオプションは、必要に応じて手動で調整をお願いします。
※自己責任にて利用してください。利用において発生したトラブル等に関する一切の保証・責任は負いかねます。
robocopyコマンド作成フォーム
コピー元:
コピー元フォルダを指定する
例: C:¥folder1¥folder2¥
¥¥srv01¥folderA¥ など
コピー先:
コピー先フォルダを指定する
例: C:¥folder5¥folder6¥folder7¥
¥¥srv02¥folderB¥ など
コピー方法
パターンA
/E コピー元をコピー先にコピーする。
※コピー先のみに存在するファイルは削除しない
パターンB
/MIR コピー元とコピー先を同一にする
※コピー先のみに存在するファイルは削除されるので注意する
/XO コピー元のファイルが古い場合は上書きさせない。
作成したコマンド:
~利用上の注意~
作成されたコマンドをコピーして、コマンドプロンプトに貼り付けて実行する。
万が一、作成したコマンドで問題が発生しても保証は出来ないので、
お試し用のフォルダやファイルで確認した上で、自己責任にて実行してください。
オプションパラメータは他にも多数あるので、必要に応じて手動で調整する。
robocopyで設定するオプションについて
パターンAは、サブフォルダを含むフォルダ配下全体をコピーする設定で、
具体的には「 /E /R:2 /W:3 」のオプションを設定します。
コピー先にのみ存在するファイルが在ってもそのまま残しておきます。
パターンBも、サブフォルダを含むフォルダ配下全体をコピーする設定。
具体的には「 /MIR /R:2 /W:3 」のオプションで設定します。
パターンAと異なり、コピー先にのみ存在するファイルは削除されます。
実行後、コピー元=コピー先の状態になります。
/XO のオプションは、古いファイルはコピーしない場合に利用します。
基本はコピー元のファイルをコピー先へ上書きコピーするイメージですが、
コピー元のファイルが古い場合、コピー先のファイルをそのまま残す という動きになります。
/R はリトライ回数。2回
/W はリトライ時の待機時間。3秒
robocopyを使ってどのようにフォルダをバックアップするか
単純にコピーしてバックアップ完了!とも言えるかもしれないのですが、
「バックアップ」と一言で言っても色んな方法があります。
その中から、上で記述した内容と重複しますが、
個人的になじみのあるバックアップについて紹介します。
同期、ミラーリング(コピーもするし、削除もする)
2つのフォルダを完全に同一にする。
※前述のパターンB
コピー元でファイルの削除や変更がある場合、コピー先にも削除や変更が反映されます。
もちろん新規に作成されたファイルはコピーされます。
よくあるバックアップといえばこの処理をイメージするかもしれません。
「同期」「ミラーリング」と言う時はこれです。
コピーのみ(削除しない)
「同期 - 削除処理」のバックアップ。
※前述のパターンA
簡単に説明すると、
同期の処理から「削除処理」を取り除いた挙動になります。
コピー元からコピー先にコピーはする。
ただし、コピー元でファイル削除しても、コピー先には反映されない(コピー先からは削除しない)。
特定ファイルのみコピー
その他、特定ファイルのみをコピーしたり、
特定ファイルのみを除外してコピーしたり・・・
というように、用途により様々なバックアップがあります。
バージョン管理
前述までの流れとちょっと方向性が異なりますが、バージョン管理という考え方もあります。
資料や文章作成時に、「昨日保存したバージョンに戻したい!」という時に、
ファイルを過去の状態に戻すことを可能にするというものです。
Windowsでも「システムの復元ポイント」という機能がありますし、
Macだと「タイムマシン」という機能がありますね。
これもバージョン管理の考えと同じと考えて問題ないです。(厳密には違うと思う)
シャドウコピー
これはWindowsの機能ですが、
前述のバージョン管理の概念をCドライブとか、Dドライブ単位に設定する機能が、
「シャドウコピー」と呼ばれる機能になります。
「シャドウコピー」の用途としては、
「あれーあのフォルダ消しちゃったけど、先週まで残ってたはずだから復元してみるか!」のように使います。
設定画面で設定しておくだけなので、
意識せずにバックアップしておけるというのが大きな利点。
ディスクの空き容量が無いと効果が出ないというような制約があるものの、
万が一があった時のお助け機能として活用することができます。
robocopyを使って大切なファイルをしっかりバックアップしよう
今回はバックアップの紹介として、
robocopyなどを紹介してみました。
今回はコマンド作成用のフォームも用意したので、
是非コマンドを使ってみてもらいたいと思いますが、
コマンドを駆使できるようになると、自動バックアップも出来るようになります。
Windowsの場合だと、
スケジュール実行やスタートアップで自動実行できます。
自動で行えるようにしておくとかなり便利です。
もちろん手動でも出来ますけど、
「一度設定したら後は自動」というのは一度試してみると便利さが分かります。
バックアップ忘れもなくなりますし、何かあった時に最新データを取り出すことが出来ます。
重要なデータであれば尚更。
二重三重でバックアップするなら、自動でバックアップ出来るように設定してみてください。
今回はここまで。
自動で処理を実行する方法は別の機会にて。