Robocopyコマンドでパソコンのバックアップをする方法
こんばんは。
nanana-blog管理人のナナナです。
ブログを訪問し記事を読んでいただきありがとうございます。
先日、仕事でファイルサーバの更新作業があり、旧サーバから新サーバへファイルを移行する必要がありました。
サーバ内のフォルダ数がかなり多く、手動で移動させるのは現実的ではなかったので
ファイル移行用のバッチファイルを作成して、データを自動化させることにしました。
本日はWindowsコマンドの一つである「robocopy」を紹介します。
- robocopyとは何ができるコマンドなのか
- コマンド「copy」と「robocopy」の違い
- robocopyの書き方
- よく使うオプションの説明
- 差分コピーをする時のrobocopyの書き方
- ミラーリングバックアップする時のrobokcopyの書き方
- 最後に
robocopyとは何ができるコマンドなのか
指定した2つのフォルダの間でファイルやフォルダをコピーすることができるコマンドです。
似たようなコマンドにcopyコマンドというものがありますが、robocopyの方が細かくオプションを設定できる高機能なコマンドです。
コマンド「copy」と「robocopy」の違い
copyコマンドはファイルしかコピーをすることができませんが、robocopyはフォルダのコピーをすることができます。
他にもrobocopyは、サブフォルダ(フォルダの中にあるフォルダ)のコピーができたり、不要なファイルの削除をすることができます。
robocopyはオプションの数が多いので最初の頃は理解しにくいですが、慣れてくるとコピーする対象を細かく設定できるため、とても便利なコマンドです。
robocopyの書き方
robocopyの構文は以下になります。
robocopy コピー元 コピー先 [ファイル名] [オプション]
※ファイル名とオプションは任意項目のため、指定しなくてもコピーできます。
コピー元 : コピー元のフォルダパス(Cドライブのtempフォルダの場合は、C:\temp)
コピー先 : コピー先のフォルダパス(Dドライブのtempフォルダの場合は、D:\temp)
ファイル : 特定のファイルや拡張子をコピーしたい場合はここに書きます。
オプション : ログの出力方法やコピーするファイルの指定などができます。
よく使うオプションの説明
私がrobocopyを使う時によく指定するオプションについて説明をします。
ここに書いてあるオプション以外にも指定できるオプションはたくさんありますが、その説明は別の記事で説明をしていきます。
/E
何も保存されていない空のフォルダを含むすべてのサブディレクトリをコピーします。
/R:n
ファイルコピーが失敗した時のリトライ回数を指定できます。
「n」の部分に回数を指定します。
何も指定しないと1,000,000回リトライをすることになります。
/W:n
リトライをするまでの待機時間を指定できます。
nの部分に待機する秒数を指定します。
何も指定しないと30秒待機します。
/LOG:ファイル名
コピーのログを「ファイル名」に指定したファイルに出力することができます。
/XO
コピー元とコピー先のファイルのタイムスタンプを比較して、コピー先のタイムスタンプが新しければコピーしません。
差分コピーをする時のrobocopyの書き方
日々バックアップなどをする時、新規作成したファイルや更新したファイルをコピーする時に便利です。
CドライブのtempフォルダをDドライブのtempフォルダコピーする時のサンプルです。
ログファイルはDドライブのtempフォルダに「Result.log」という名前で保存されます。
robocopy C:\temp D:\temp /e /copyall /xo /zb /r:1 /w:1 /NP /log:D:\temp\Result.log
ミラーリングバックアップする時のrobokcopyの書き方
全く同じ状態を別の場所に作成したい場合に便利です。
Cドライブのtempフォルダの内容をDドライブのtempフォルダに作成する時のサンプルです。
ログファイルはDドライブのtempフォルダに「Result.log」という名前で保存されます。
robocopy C:\temp D:\temp /mir /r:1 /w:1 /zb /NP /log:D:\temp\Result.log
最後に
いかがだったでしょうか。
robocopyを使えば仕事で使用しているパソコンのデータを簡単にバックアップすることができます。
この記事のサンプルを参考にバックアップをとってみてください。