2006年06月20日

バックアップ多重化・構想

いつものお客様から、PC自作支援のお話がありPCを追加することになった。

これまでのようにバックアップを取得するためにHDDを2個搭載する必要があるのではとの事であるが、以前にバックアップ用に購入したHDDが半分も使用されていないので、そこにバックアップを取得するようにしたらどうですか。「では、その線で!。」

HDDの容量が増加したのと、価格が低下しているのは非常に喜ばしい限りである。PC2台のフル・バックアップを一週間分採れるHDDが一万円を切っているのである。まあデータの蓄積状況によっても変化するが。

これまでのバックアップの取得方法
(1)日付から曜日を取得
(2)曜日のフォルダに、その日のバックアップを「DriveImage XML」で取得
(3)バックアップが終了したらPCの電源をオフ
これで一週間前までのデータも戻せる仕様でバックアップを作成していた。

今後のバックアップは2台の同期を取って電源オフをさせる必要がある。
【前提条件】
(1)A機のバックアップは自機に内蔵しているHDDにバックアップを取得する
(2)B機のバックアップは、A機に内蔵しているHDDに取得する
(3)A機もB機もバックアップの取得が完了したらPCの電源をオフにする
2台のバックアップ終了後、A機の電源オフのタイミングをプログラムに取らせ事が必要になる。

【プログラム構想】
(01)WSH(Windows Scripting Host)とバッチを組み合わせてプログラムを作成するのはこれまでと同様とする。
(02)B機のバックアップ取得は、これまでとあまり変更は無い。バックアップの保存先をA機のHDDにする(ネットワーク越し)ようにパラメータを変更する。
(03)B機のバックアップが終了したら、終了したこと知らせるファイルをB機に置く(Copyする)。
(04)B機はバックアップが終了したら電源オフする。
(05)A機はB機のバックアップが、これから実施するか・既に実施されたか知る必要がある。B機だけA機より長く使用されている場合もあるだろうから。これはプログラムの最初にA機のバックアップ取得を指示された時にオペレータに確認する。
(06)B機のバックアップ取得があると指示された時、A機のバックアップが終了した後、(03)で記述されたB機のバックアップ終了のファイルが書き込まれるまで、電源オフを待つ。
(07)電源オフがされなかった場合、翌日調査できるようにB機のバックアップがあるかどうかを指示した事が判明するようなファイルを置く(Copyする)。
(08)状況を示すファイルを、初期設定やバックアップ終了時点で削除する。
大雑把な仕様はこのような感じ!。

この構想がバッチ・コマンドから動くのかを簡単なプログラムを書いてテストした。するとバッチからWSHを呼び出した後、バッチを呼び出すには動く。バッチからバッチを呼び出した後、WSHを動かすとこれが呼ばれない。WSH初心者には原因を突き止められなかった。

それではWSHの中からバッチを呼び出す方法に変更する。また簡単なプログラムを書いてテストした。RunメソッドとExecメソッドがあるが、Runメソッドはタスクを放り出して実行させるので一個一個のバックアップの終了タイミングをまたプログラムで確認しなければならない。

Execメソッドなら、コマンドがシリアライゼーションされるので、そちらを採用することにする。これで簡単なプログラムによる仕様確認を終えて本番に向けたプログラムに移る。

【続く】バックアップ多重化・実装(01)


https://www.ktservices3.com/

投稿者 owner : 2006年06月20日