21 August 2007

Windowsサーバでのバックアップ (xcopy, robocopy)

Windowsサーバでのログファイルなど、毎日作成されて増えていくファイルのバックアップを、外付けハードディスクやUSBメモリーに行いたいときがある。
(毎日テープ装置を走らせて、テープとテープ装置を劣化させるよりは、平日は外部ディスクにとりあえず退避させておけば安心かもという考え方…)

標準コマンドの xcopy を使う場合
xcopy D:\Log\*.log H:\Log-Backup /D /Y
Resource Kit の robocopy を使う場合
robocopy D:\Log F:\Log-Backup *.log /E /XO /R:1 /LOG:"D:\BackupLog\LogBackup.log" /NP

なお、タスクスケジューラで自動化する場合は、USB外付けメディアが存在していることを確認してから行うように、スクリプトを次のように変える。

if exist F:\Log-Backup robocopy D:\Log F:\Log-Backup *.log /E /XO /R:1 /LOG:"D:\BackupLog\LogBackup.log" /NP

robocopy の詳細オプションを分かりやすく解説したページが、Windows Server World http://www.windows-world.jp/special/-/60009.html に掲載されている。

同期 (コピー元に存在しないファイルは消去する) /MIR
移動 /MOV
古いファイルはコピーしない /XO
アーカイブ属性制御を行う /M
などが、よく使いそうなオプション。

Windows Server 2003 用のResource KitはWindows XPにも使えるらしい。(2000用はあるが、XP用が無いため)

自宅のパソコンのバックアップ (デジカメの写真やら、MP3音楽やら) にも使えそう…
(現在は、RealSync というフリーソフトウエアを利用させてもらっている)

2009年8月に更新記事 『ファイルバックアップ比較 robocopy, RichCopy, BunBackup』 を投稿