2010年9月15日水曜日

ファイル保存よりも環境保存

 長年に渡ってコンピュータを使い続けていると、その間にマシンのトラブルに巻き込まれる機会もそれだけ多くなる。昔はそれほど頻繁にマシントラブルに会うことはなかったような気がするが、コンピュータの性能が良くなり高度で精密機械として扱われるようになると、ハードウェアが故障する頻度もそれだけ高くなってきているのではないかと思う。

 マシントラブルに遭遇した時、一番に心配になるのは直前まで扱っていたファイルの安否であろう。今まで営々と時間と労力をかけて作成してきたファイルが、破壊されたり失われてしまうかもしれないのである。あらかじめ外部メディアに保存するなりの対策をしておけば良かったと思っても、もはや手遅れであることが多い。誰でも、以下に示す「ソフトウェアの法則」【ファイル破壊の予知法則】を知っていればよかったのに、と思うに違いない。

【ファイル破壊の予知法則】
 ファイル破壊の事故は、常に「ファイルを保存したい」
と熱烈に思う直前に発生する。


 コンピュータを故障させずに長く使い続けるコツは「コンピュータを長持ちさせる法」で紹介したとおりである。つまり
 ・定期的に使い続ける
 ・できるだけソフトウェアを変えない
 ・愛情を持って取り扱う
であるが、この他に、もう一つ重要なのが
 ・スリープ機能を多用しない
ということではないかと最近感じている。

 Windows Vista がリリースされた時、そのシステムの立ち上げに随分と時間が掛かり不評だった。その対策として、私はスリープ機能を多用するようになった。夜、コンピュータを使い終わってもシャットダウンせずに翌朝までスリープ状態にしておくのである。翌日、すぐ立ちあげられるので便利ではあったが、そのためか故障しやすくなったように思う。スリープ状態にしておいて、いざ使おうとマシンをウエイクすると、コンピュータ本体がかなり高温に保たれていることが多いからである。このスリープ機能のために故障したと言いきるだけの確実な証拠はないが、基板上の多くの部品が長い時間高い温度のままで放置されていたのであるから保守上望ましい状態にあったとは言えない。それ以来私は、夜コンピュータを閉じる際は必ずシャットダウンするようになった。そして翌朝コンピュータに触れた時、本体からひんやりとした感触が返ってくると何かほっとして「よし、いいぞ」と思うのであった。

 さて、本論に戻ろう。大切なファイルを失わないためには、日頃からファイル保存の習慣を身に付けておく必要がある。そのための手段として、ファイルのバックアップユーティリティーが用意されているのが普通である。私もその類いのソフトウェアを何度か使ったことがあるが、結局長続きしなかった。操作が面倒で時間がかかるからである。この種のソフトウェアは大抵はファイルを保存することしか眼中になく、個々のファイルを復元する作業は利用者まかせであることが多い。私の経験では元の状態に復元するのにかなりの努力と時間を必要としている。

 マシンが(修理依頼しなければならないような)致命的な故障をした場合、普通は修理に1~2週間はかかるのを覚悟しなければならない。その間は別のマシンで代行しなければならない。そのマシン(もしあれば)への移行作業を迅速に行えるかどうかが一番の問題になるのではないかと思う。毎日行う作業、たとえばメールの送受信などが数日間できないとしたら、これは大変なことになる。たとえば私の場合、迷惑メールが1日当たり200件程度は届くので毎日処理していないとメールボックスが満杯になり、受け取るべきメールも受信できなくなる恐れがある。大学の授業で使っているファイル、課題提出の管理、その他いろいろと、マシンが使えなくなったら大騒動になるのである。

 したがってファイル保存よりも、日々使っている自分の作業環境そのものを保存し、マシントラブルが起こったらすぐさま別のマシン上で同じ作業環境を動作させ継続的に(もちろん最新のファイルを用いて)作業できるようにすることが重要になるのではないか。

 そこで私は、外付けの大容量ハードディスク上に、その日に変更したファイルや履歴を保存することにした。“外付けの”ハードディスクであることが重要な点である。
 保存すべきものは、
 (1)自分が作成したファイル(*1)
 (2)自分が使うアプリケーションのステータス(*2)
等である。
【注】(*1)更新日を比較して変更の必要があるものだけを保存する。具体的には、xcopy コマンドにスイッチオプションとして D を指定するとよい。
【注】(*2)各アプリケーションごとのステータス情報は AppDataディレクトリ(隠しファイル)以下に保存されている。どの場所に保存されているかは、その気になって探せはすぐ分かる。これも xcopy コマンドで必要なものだけを選んで保存するようにする。

 この作業を、毎日の終りにマシンを閉じる際のシャットダウンの直前に行うのである。2~3分で済むから何の苦にもならない。
 こうやって変更のあったものだけを保存していると、不要になり削除したはずのものが外付けのハードディスク上に残ってしまう。そこで毎月1回は、%USERPROFILE% 以下のものを robocopy コマンドを用いて保存し、最新の状態にしておく必要がある。

 私は「コンピュータを隠し持つ」で触れたように、普段使わないマシンがあるから、そのうちの1台をバックアップマシンとして利用することにした。そのバックアップマシン上に同じアプリケーションをインストールし、外付けのハードディスク上に前の晩保存しておいた(1)、(2)のデータを、毎朝リカバリしているのである。そうすると、バックアップマシンの方には必ず前の晩の状態がキープされているので、たとえ普段使うマシンが立ち上がらなくても、何の心配もないということになる。いや、やはり心配ではありますがね。

【追記】本文のリライト版【素歩人徒然】「環境の保存」も参考にしてください。