robocopyとタスクスケジューラで重要ファイルをバックアップし、PC間で同期する

PCがハングって、UEFIのStrageConfigurationが RAID → AHCI に変更されてしまったためか?RAID1の構成情報が消失し、大事な子どもの写真、ビデオ、ソフトウェアがすべて消えた。どうでもいい、Cドライブが2つ見えている状況。
痛い目にあったので、2度とRAIDは使用しない。RAIDはバックアップにはならないことを痛感。
幸いにして、別のPCに写真とビデオは完ぺきにコピーしてあった。
 
これを教訓に、タスクスケジューラとrobocopyで、毎週木曜日に次のようにバックアップする運用を開始した。
 
  1. PC-A の Dドライブ → robocopy → Yドライブ へバックアップ
  2. PC-A → WakeOnLan → PC-B起動
  3. PC-Aの Dドライブ → robocopy → PC-Bの Yドライブへバックアップ
  4. PC-Aの Dドライブ → robocopy → PC-Bの Fドライブ(RAID5)へバックアップ
  5. PC-AからPC-B をリモートシャットダウン
というのを開始した。
 
 
startCopy.cmd
※PC-B=htpcsv
 

[sourcecode language='text' padlinenumbers='true']
SET LOG=D:\Scripts\log\startCopy.log

CALL D:\Scripts\DBBackup.cmd > %LOG%

Robocopy D:\Family Y:\Family /s /XF Thumbs.db >> %LOG%
Robocopy D:\MOVIE Y:\MOVIE /s /XF Thumbs.db >> %LOG%
Robocopy D:\Softs Y:\Softs /s /XF Thumbs.db >> %LOG%
Robocopy D:\SQLServer\DBBackup Y:\DBBackup /s /XF Thumbs.db >> %LOG%
Robocopy D:\Scripts Y:\Scripts /s /XF Thumbs.db >> %LOG%
Robocopy D:\Books Y:\Books /s /XF Thumbs.db >> %LOG%
Robocopy D:\Audio Y:\Audio /s /XF Thumbs.db >> %LOG%
Robocopy D:\VHDs Y:\VHDs /s /XF Thumbs.db >> %LOG%

PING -n 1 HTPCSV | FIND /i "見つかりませんでした" && GOTO WAKE || GOTO MEDIASV2HTPCSV

:WAKE
"D:\Softs\Wake On Lan Tool 1.93\wol" /open="D:\Softs\Wake On Lan Tool 1.93\uto.ini" /wake=1 HTPCSV
D:\Softs\sleep\sleep.exe 120

:MEDIASV2HTPCSV
Robocopy D:\Family \\HTPCSV\FamilyY /s /XF Thumbs.db > %LOG%
Robocopy D:\MOVIE \\HTPCSV\MOVIEY /s /XF Thumbs.db > %LOG%
Robocopy D:\Softs \\HTPCSV\SoftsY /s /XF Thumbs.db >> %LOG%
Robocopy D:\SQLServer\DBBackup \\HTPCSV\DBBackupY /s /XF Thumbs.db >> %LOG%
Robocopy D:\Scripts \\HTPCSV\ScriptsY /s /XF Thumbs.db >> %LOG%
Robocopy D:\Books \\HTPCSV\BooksY /s /XF Thumbs.db >> %LOG%
Robocopy D:\VHDs \\HTPCSV\VHDs /s /XF Thumbs.db >> %LOG%

Robocopy D:\Family \\HTPCSV\FamilyF /s /XF Thumbs.db > %LOG%
Robocopy D:\MOVIE \\HTPCSV\MOVIEF /s /XF Thumbs.db > %LOG%
Robocopy D:\Softs \\HTPCSV\SoftsF /s /XF Thumbs.db >> %LOG%
Robocopy D:\SQLServer\DBBackup \\HTPCSV\DBBackupF /s /XF Thumbs.db >> %LOG%
Robocopy D:\Scripts \\HTPCSV\ScriptsF /s /XF Thumbs.db >> %LOG%
Robocopy D:\Books \\HTPCSV\BooksF /s /XF Thumbs.db >> %LOG%

Robocopy D:\Audio \\HTPCSV\Audio /s /XF Thumbs.db >> %LOG%

shutdown /m \\htpcsv -s -t 1 /c "ROBOCOPY END" /d p:0:0

[/sourcecode]


 

ポイント


 

  • PC-AからPC-Bをリモートで起動し、バックアップ終了後はPC-AからPC-Bをリモートシャットダウンする

    参考 リモートシャットダウン
    『shutdownコマンド』で、Windows7をリモートシャットダウンを実行した際に『アクセスが拒否されました(5)』が表示される際の対処法
    http://social.technet.microsoft.com/Forums/ja-JP/1bf18c0c-275c-4d53-b530-38760e88636c/shutdownwindows75?forum=w7itprogeneralja


    コントロールパネル → コンピュータの管理 → ローカルセキュリティポリシー で下記の部分を無効にすると、UACを有効にしたまま、リモートシャットダウンできた。
    リモートシャットダウン


  • Thumbs.dbを除外しないとrobocopyはウェイトしてしまうので、/XFで除外する

  • robocoy のオプション /S だと、コピー元にないものをコピー先から消さない。/s を/MIRにするとコピー元にないものはコピー先からも消される。

  • PC-Bを起動するのは Wake up On Lan Tool を使用する。
    Wake up On Lan Toolのダウンロード : Vector ソフトを探す
    http://www.vector.co.jp/soft/dl/win95/util/se241927.html

 

 

 

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける