Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
コマンド | 説明 |
---|---|
robocopy | robocopy は Robust File Copy の略で、堅牢(robust)なファイル・コピーという意味を持っています。もともとはリモートのファイル・サーバ同士でフォルダを同期させるために作られたコマンドです。robo != robot(ロボット) なので、ご注意ください。 |
クラウド全盛の世の中ですが、外付けHDD等の物理ドライブにバックアップを取る場合もあるかと思います。
特に大容量のデータや、何も考えずに丸っとドライブごとバックアップしたい時など、クラウドだと出費がかさんでしまいます。
私が採用している手法は、リアルタイムでバックアップが必要なデータのみ、Dropbox や SugarSync を利用し、それ以外の比較的大きな容量のデータは、定期的に外付けHDD等にバックアップを取るというものです。
外付けHDD等にバックアップをするにあたり、以前はフリーウェア等を利用していましたが、OSが変わった時など、利用していたフリーウェアがバージョンアップされておらず、利用できなくなったことがありました。
そこでお奨めしたいのが、Windowsに標準搭載されているコマンド「robocopy」です。
※Vista以降は標準搭載。XPは、別途インストールが必要。
下記のような「ROBOCOPY.backup.bat」を作って、定期的に実行すれば、ミラーリング・バックアップが簡単に出来ます。
わざわざ専用ソフトをインストールしなくて良いのでお奨めです。
@ECHO OFF Setlocal ECHO "バックアップ先のドライブを指定してください (d, e, f or etc)" SET /p drive= @ECHO ON ROBOCOPY "C:\Users\USER1\Desktop" "%drive%:\Users\USER1\Desktop" /MIR /XO /R:0 /W:0 ROBOCOPY "D:\Data\path\to\data01" "%drive%:\Data\path\to\data01" /MIR /XO /R:0 /W:0 @ECHO OFF Setlocal ECHO "バックアップが完了しました (Press `enter key')" SET /p c= EXIT :CONTINUE @ECHO ON
コピー元 | コピー先 | |
---|---|---|
C:\Users\USER1\Desktop | → | %drive%:\Users\USER1\Desktop |
D:\Data\path\to\data01 | → | %drive%:\Data\path\to\data01 |
オプション | 説明 |
---|---|
/MIR | ディレクトリツリーをミラーリングします。追加されたファイルは追加。更新されたファイルは上書き。削除されたファイルはコピー先からも削除されます。 |
/XO | 古いファイルはコピーしない。デフォルトの動作ではコピー元が古い場合でもコピーを行うが、それを行わなくする。 |
/R:0 | コピーに失敗した場合、再試行を行わない。(失敗したにコピー対する再試行数: 既定値は 1,000,000) |
/W:0 | 再試行と再試行の間の待機時間を0秒に設定。(再試行と再試行の間の待機時間: 既定値は、30 秒) |
上記サンプルコードを自分の環境に合わせて適宜修正したら、「ROBOCOPY.backup.bat」というファイル名前で保存します。
※ファイル名はお好みでOKですが、拡張子は「.bat」にします。
特に「ミラーリングのパス」は、このままでは動作しませんので、必ず環境に合わせて設定してください。
「ROBOCOPY.backup.bat」をダブルクリックして実行するとコマンドプロンプトが立ち上がります。
すると下記のように聞かれますので、外付けHDD等がマウントされたドライブレターを入力して、エンターキーを押します。
バックアップ先のドライブを指定してください (d, e, f or etc)
ここで入力したドライブをバックアップ先として、バックアップを行うようになります。
※内部的にコードの「%drive%」が置換されます。
外付けHDD等を接続した際に、割り当てられたドライブレターを確認しておいてください。
通常は、d, e, f のいずれかになると思われます。(環境に依存します)
バックアップ中は、ミラーリング状況がリアルタイムで画面に出力されます。
出力をログに残すことも可能ですが、ここでは割愛します。興味のある方はご自身で調べてください。
バックアップが完了すると、下記のようにメッセージが表示されます。
バックアップが完了しました (Press `enter key')
エンターキーを押して、終了します。
最初に試す場合は、特にコピー先のドライブはバックアップを取るか、必要なデータがない状態で試してください。
ミラーリングパスの設定を誤ると、意図しないフォルダやファイルがミラーリングされ、上書きされてしまう場合があります。
すべては自己責任において実行してください。