RoboCopy(Robust File Copy)は、Windowsに標準で搭載されている高機能なファイルコピーコマンドです。信頼性の高いファイルの同期やバックアップに適しており、特に大容量のデータを扱う際に役立ちます。
この記事では、実際にRoboCopyを使ったバックアップスクリプトの作成例を紹介し、その詳細と主要なオプションについて解説します。
実際のスクリプト例
以下は、指定したフォルダをネットワーク共有先にバックアップするスクリプト例です。
スクリプト内容
set src=D:\SrcBackup
set dst=\\192.168.1.10\backup\DstBackup
set log=C:\Scripts\
net use %dst% /user:<user> <passwd>
robocopy %src% %dst% /s /e /r:1 /w:1 /LOG+:"%log%Backup.log"
スクリプトの説明
- 変数の設定:
set src=D:\SrcBackup
バックアップ元フォルダを指定します。この例ではローカルドライブのD:\WeekBackup
を指定しています。set dst=\\192.168.1.10\backup\DstBackup
バックアップ先フォルダを指定します。ここではネットワーク共有フォルダが指定されています。set log=C:\Scripts\
ログファイルの出力先フォルダを指定します。
- ネットワーク共有への接続:
net use %dst% /user:<user> <passwd>
ネットワーク共有にアクセスするための認証情報を指定します。<user>
と<passwd>
は適切なユーザー名とパスワードに置き換えてください。
- RoboCopyによるバックアップ:
robocopy %src% %dst% /s /e /r:1 /w:1 /LOG+:"%log%Backup.log"
RoboCopyコマンドでファイルをコピーします。- %src%: コピー元フォルダ
- %dst%: コピー先フォルダ
- /s: サブフォルダをコピー(空のフォルダは含まない)
- /e: 空のサブフォルダもコピー
- /r:1: コピー失敗時の再試行回数を1回に設定
- /w:1: 再試行前の待機時間を1秒に設定
- /LOG+:”%log%Backup.log”: ログを追記モードで指定したファイルに出力
RoboCopyの主なオプション
基本オプション
オプション | 説明 |
---|---|
/s | サブフォルダをコピー(空のフォルダを除く) |
/e | サブフォルダをすべてコピー(空のフォルダも含む) |
/z | 再起動可能なコピー(中断後の再開が可能) |
/copyall | ファイルのデータ、属性、セキュリティ情報をコピー |
/mov | ファイルを移動(コピー後に削除) |
/purge | コピー元にないファイルをコピー先から削除 |
リトライ設定
オプション | 説明 |
---|---|
/r:<回数> | 失敗したコピーの再試行回数(デフォルトは1,000回) |
/w:<秒> | 再試行前の待機時間(デフォルトは30秒) |
ログ出力
オプション | 説明 |
---|---|
/LOG:<ファイル> | 指定したファイルにログを出力(上書き) |
/LOG+:<ファイル> | 指定したファイルにログを追記 |
/TEE | コンソールにもログを出力 |
スクリプト活用のポイント
- 定期実行の設定:
このスクリプトをタスクスケジューラに登録することで、定期的なバックアップが可能です。
タスクスケジューラでの設定手順は以下の通りです。- タスクの作成 → トリガー(時間やイベント)を設定 → 操作でスクリプトを指定。
- エラーの監視:
ログファイルを確認することでエラーを検出できます。
特にネットワークエラーやディスク容量不足の際に役立ちます。 - ネットワークパスの確認:
net use
コマンドでネットワーク接続を事前に確認し、認証情報を適切に管理してください。
まとめ
RoboCopyは、高速で信頼性の高いファイルコピーを実現するための便利なツールです。今回紹介したスクリプトを参考に、自分の環境に合わせてカスタマイズしてみてください。
ログ機能やエラー再試行設定を活用することで、安定したバックアップを実現できます。ぜひ、定期的なバックアップを自動化し、大切なデータを守りましょう!
今回は以上です。
コメント