2006年05月28日

バックアップ方式変更


いつものお客様がバックアップを変更できないかとの打診があった。

これまでのバックアップはHDDのクラッシュ時に、前日帰宅時のバックアップからこれまでの環境を取り戻すことに主眼を置いていたが、個々のファイルの操作ミスで前々日の状態でも良いから元に戻すようにできないかとの事である。以前他所でCD-RWにデータのバックアップを取得していて、それを7枚用意しておいて日~土曜日まで順に回していたことがある。これは人間がCD-RWを交換するのでBatchCommandは何も考えずにバックアップを取得すれば良かった。それをHDDで実施することを提案した。「それじゃその線で!」

まさかバッチコマンドを7種類用意して選択実行してもらう訳にもいかないので、プログラムを用意することにする。適当なのがないかネット検索をしたら「これですよ」と言わんばかりのWebサイトがあった。このTipsを読んで次のように仕様を決定した。

(1)バックアップ用HDDの使用可能スペースが15GBより少ない場合は注意を喚起する。
この数値は1回のバックアップに使用する容量を確認してから決定する。
(2)PCの日付から曜日を取得する。
(3)取得した曜日からバックアップを格納するフォルダを決定する。
(4)「DriveImage XML」を使用してそのフォルダにバックアップを取得する。
(5)バックアップを取得後、PCの電源をオフにする。

これをコーディングしたのが次のSourceである。

youbi.vbs
【youbi.vbsの内容:ここから】
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
'File System
Set objDrive = objFSO.GetDrive("F")
'Drive情報取得
intdspGB = round(objDrive.AvailableSpace / (1024^3))
'残りスペースをGBに変換
if intdspGB < 15 then
WScript.Echo "使用可能スペースが " & intdspGB & "GB しかありません。大丈夫ですか?"
end if
WScript.Quit (weekday(date))
【youbi.vbsの内容:ここまで】
if %errorlevel%==1 set week=Sun
if %errorlevel%==2 set week=Mon
if %errorlevel%==3 set week=Tue
if %errorlevel%==4 set week=Wed
if %errorlevel%==5 set week=Thu
if %errorlevel%==6 set week=Fri
if %errorlevel%==7 set week=Sat
echo %week%
"E:DriveImageXML\dixml.exe" /bC /t"F:\%week%\C-Drive\Drive_C" /s /v
"E:DriveImageXML\dixml.exe" /bD /t"F:\%week%\D-Drive\Drive_D" /s /v
"E:DriveImageXML\dixml.exe" /bE /t"F:\%week%\E-Drive\Drive_E" /s /v
c:\winnt\system32\shutdown -s -f -t 5

バックアップ用HDDに"Sun"~"Sat"までのフォルダを作成しておくことを忘れずに。


【更なる改造】2006/06/20 バックアップ多重化・構想
2008/06/28 曜日によるフォルダ変更ではなく、前回取得したフォルダの次のフォルダに取得するように変更

https://www.ktservices3.com/

投稿者 owner : 2006年05月28日