2012/02/06 03:50:11
since 1997/2/22: 338894 today: 24 yesterday: 155

ROBOCOPYでバックアップ

| コメント(0) | トラックバック(0)

レッツノート・CF-R4に搭載したSSDの寿命とパフォーマンスに対する対策の一環として、RAMディスクを確保している話は以前紹介しています。ここにWebのキャッシュファイルを保存し、これをシャットダウンのときにバックアップしようと考えていたわけですが、一時的に保留にしてありました。

OSをWindows 7公開β版からWindows XPに戻したところで、バックアップの検討を再開しました。最初は、VBScriptで記述するWindows Scripting Host、あるいはMicrosoft社が新たに開発した「オブジェクトベースのスクリプト環境」・PowerShellを使ってみるつもりで、いろいろ手を付けてはいましたが、どうもうまくいきませんでした。最大の問題はパフォーマンス。実行時に逐次解釈していくスクリプト言語では、どうしても実行速度で不利です。


いろいろと調べていく中で、ROBOCOPYというコマンドラインツールがあることを知りました。従来からコマンドプロンプトに用意されていたXCOPYを大幅に強化したコマンドで、フォルダツリー単位でのファイルコピーを、サイズや更新日時、属性などいろいろな条件で制御しながら行うことができます。単なるコピーだけでなく、移動元と移動先のファイル内容を同期するミラーリングも簡単なオプションだけでこなします。スクリプトではなく最初からバイナリになったプログラムですから、実行速度でも有利です。これを使ってみることにしました。

ちなみに、ROBOCOPYの名前は「Robust(堅牢な)なファイルコピー」という意味らしいです。いろんな動作が自動化できるから「Robotコピー」の意味かと思っていたんですが...。

このROBOCOPYコマンドは、Windows Vistaには標準で含まれていますが、CF-R4にインストールされているWindows XPには含まれていません。しかし、Windows XP環境でもちゃんとROBOCOPYが使えるようになる方法は用意されています。

Microsoft社では、Windowsのマニアックなユーザーやシステム管理者などに向けて、「Windowsリソースキット」と呼ばれるドキュメントやツール群を提供しています。ROBOCOPYはこの中に含まれていて、英語版ではありますがMicrosoft社のWebサイト経由で無償ダウンロードできます。「Windows XP用」と書かれたものは見つかりませんが、心配ご無用。「Windows Server 2003用」の対応OSに、ちゃんとWindows XPがリストアップされています。ダウンロードしたWindows Server 2003 Resource Kit Toolsをインストールすれば、ROBOCOPYツールもコマンドラインから利用できるようになります。


ROBOCOPY /?」でオプション等のヘルプドキュメントが表示できますが、残念ながらこれは英語版。Vistaのコマンドラインから実行できるROBOCOPYでは日本語化されているので、これを見ながら設定をしていきました。

シャットダウンするときには、RAMディスクの中身をSSDにバックアップします。このときに、単にコピーするだけではSSD側のファイルが増えるばかりで困ってしまいます。私の場合は、キャッシュの管理はそれぞれのブラウザに任せて、RAMディスクの内容をミラーリングすることにしました。これなら、

ROBOCOPY Z:\Cache C:\ramdisk\Cache /MIR
(Z:はRAMディスクのドライブ、/MIRは「ミラーリング」のオプション;新しく作られたファイルや日付の新しいファイルをコピーし、コピー元で削除されたファイルをコピー先で削除する)

↑たったこれだけでできてしまいます。

一方、スタートアップのときにはもう一ひねり必要でした。スタートアップ処理の中ではRAMディスクの組み込みとROBOCOPYの実行順序が確定できないので、RAMディスクのドライブが確保できていない段階でROBOCOPYが実行されてしまうと、SSDからRAMディスクへのファイルのコピーに失敗してしまいます。そこで、次のようにオプションを追加してみたらコピーに失敗しなくなりました。

ROBOCOPY C:\ramdisk\Cache Z:\Cache /E /TBD
(/Eは「空のディレクトリも含めてサブディレクトリをコピーする」、/TBDは「共有名が定義されるのを待つ」)


グループポリシーエディタ

実際にシャットダウンやスタートアップの時に実行されるコマンドを設定するときには、グループポリシーエディタを使います。通常ではスタートメニューには登録されていないので、スタートメニューの「ファイル名を指定して実行...」から「gpedit.msc」と打ち込んで起動しましょう。

グループポリシーエディタでは、通常のコントロールパネルなどではできない様々な環境設定が可能になりますが、その中に、スタートアップおよびシャットダウンのときに自動実行するスクリプトを設定する項目があります。

シャットダウン時の「スクリプト」の設定

本来は、Windows Scripting HostやPowerShellのスクリプトファイル、あるいはコマンドラインのバッチファイルなどを指定することになるのでしょうけど、今回は実行するのが単一のコマンドのみなので、実行ファイルのROBOCOPYを直接スクリプト名に入れてしまい、パラメータを指定してみました。これでもちゃんと動作してくれます。

ROBOCOPYでも、さすがにバックアップおよび復元の処理にはずいぶん待たされます。それでも、再起動の操作自体はそれほど頻繁に行われるものではありませんし、実質的にはたいした影響はないでしょう。普段のWebサイトの閲覧はずいぶん快適になりました。まあまあ合格点の解決策ではないかと思っています。

マクロミルへ登録

コメントする

トラックバック(0)

トラックバックURL: http://www.sskworld.net/mt/mt-tb.cgi/2158

検索

SSK World内全文検索:
SSK World内をGoogle検索:
カスタム検索
SSK WorldからGoogle Web検索:
カスタム検索

最近のブログ記事

スマートカントリー
昨日もBESS浜松展示場に足を運んで、家造りの打ち合わせをし…
手書きの復権
スマートフォンに機種変更してから、1ヶ月少々が経ちました。最…
Disneyからパナが来た
NTTドコモから、「Disney Mobile on doc…
配線にこだわる
今週末も、家造りに向けての打ち合わせ。車を走らせて、西区のB…
顔の見えるお付き合い
先日も話題にしたとおり、スマートフォンの購入を機に、今年の初…
Ultrabookではなかったが
1月25日正午。パナソニックから新しく発表されたレッツノート…
42ヶ月で33,686km
半年に一度の、愛車・デリカD:5の定期点検の時期になりまし…

最近のコメント

S.S.K. on "レッツノートに何が起こる?":
今日は右手の上に「TOUGH」の文字が載りました。タフはレッ…
S.S.K. on "レッツノートに何が起こる?":
ティザーサイトの画が変わりました。一瞬だけ映る右手…これが折…
S.S.K. on "充電器が届きました。":
HSJ-099WHをつないでF-05Dを充電してみようとした…
S.S.K. on "予約はしてみたが":
つい先ほど、ちょうど再びF-05DのテレビCMを見る機会があ…
S.S.K. on "ちょっとずつ見えてきた":
F-05Dでもう一つ明らかになっている、ちょっと嬉しい新事実…
S.S.K. on "AndroidでもATOK月々300円":
ATOK Passportの開始と共に公開された最新版のAT…
S.S.K. on "第一印象":
MEDIAS LTE(仮)の写真をもうちょっと詳しく見てみま…

最近のトラックバック

"『5』じゃなかった・・・。" on "Sasatch Blog" →"5ではなく4Sだった":
今朝のニュースやワイドショーでも取りあげられていたAppl…
"iPhoneの2年縛りは卒業しましたが・・・" on "Sasatch Blog" →"スマホで2番号":
ちまたではiPhone5が10月に登場するのではないかとい…
"最近気になる携帯電話。" on "Sasatch Blog" →"スマホな男":
購入から1年半が過ぎ、ちょっぴりiPhone 3GSから気持…
"なすび~号、北の大地へ。(その4)" on "Sasatch Blog" →"日本一早い紅葉":
9月25日はいよいよ日本一早い紅葉を見るために黒岳に登る日…
"なすび~号、ニス塗り。" on "Sasatch Blog" →"片付けなくちゃ":
またまたなすび~号ネタ(爆)。 先日タイルカーペットを敷き…
"本家、復活。" on "SSK World @nifty分室" →"半年ぶりの本家":
4月から営業休止中だったSSK Worldですが、ようやく修…
"谷亮子選手" on "航海長 防衛省 " →"ママでは銅":
ママでは銅... は、「連続金メダル」を期待してしまいますよ…

フィードの購読

Powered by(広告)