« Windowsのスタートアップフォルダの項目の起動時にエラーが | トップページ | 外付けハードディスクケース »

2013年6月29日 (土)

ファイルサイズの監視とバックアップとリストア

職場でパソコンを使った行き先掲示板を使っているのだが、掲示板のデータが時々壊れるので対策をしてみた。根本的な対策ではなくて、場当たり的なものだけど (^_^;)

「デジボード」や「今どこボード」という、ネットワーク上の共有ファイルに居場所が書き込まれ、各クライアントPCから共有ファイルを読み書きする行き先掲示板を使っている。掲示板のユーザが30人以上になったあたりから、共有ファイルが壊れてしまうことが起こるようになった。壊れないまでも、共有ファイルの更新(書き込み)がなかなか出来ないということも多い。共有ファイルはWindows Server(バージョンはよく知らないが)に置いてある。

デジボードの場合は共有ファイルの中身がなくなり、ファイルサイズが0になる。そこで、ファイルサイズをチェックして、サイズが0でなければバックアップフォルダにバックアップ、0になっていたらバックアップから復元するバッチファイルを書き、Windowsのタスクスケジューラで5分毎に繰り返し実行することにした。

バッチファイルの中身はこんなの。

@echo off
set DATAPATH=サーバー上の共有ファイルのあるフォルダ、例えば\\Server\public\digiboard
set FNAME=共有ファイルの名前、例えばtest.dbd
set BUPPATH=バックアップファイルの保存先、例えば\\Server\public\digiboard\backup
set OUTFILE=復元のログファイルの名前、例えばRESTORE.LOG

for %%i in ( %DATAPATH%\%FNAME% ) do set size=%%~zi
echo %size%
if %size%==0 goto RESTORE

if exist %BUPPATH%\NUL goto BACKUP
md %BUPPATH%

:BACKUP
copy %DATAPATH%\%FNAME% %BUPPATH% /y
goto END

:RESTORE
copy %BUPPATH%\%FNAME% %DATAPATH% /y
SET DTSTR=%DATE% %TIME%
ECHO %DTSTR%>>%BUPPATH%\%OUTFILE%

:END
EXIT

ファイルの復元を行った時は、バックアップフォルダのログファイルに復元日時が書き込まれる

今どこボードの方はファイルが壊れた時に中身が空になるようなのだが、その時にアクセスしていた数名の情報が書き込まれるようで、ファイルサイズは0にならない。職場の使用状況だと、共有ファイルは通常は4KB程度で、おかしくなった時は150バイト程度のサイズになっているので、とりあえず異常のしきい値として2000バイトとしてファイルサイズのチェックをかけてみた。

@echo off
REM データフォルダ
set DATAPATH=サーバー上の共有ファイルのあるフォルダ、例えば\\Server\public\imadokoboard
REM データファイル名
set FNAME=共有ファイルの名前、今どこボードの場合はStatus.txt
REM バックアップフォルダ
set BUPPATH=バックアップファイルの保存先、例えば\\Server\public\imadokoboard\backup
REM ログファイル名
set OUTFILE=復元のログファイルの名前、例えばRESTORE.LOG
REM 異常ファイルサイズのしきい値。このサイズを下回ったら異常と判断。
set THRESHOLD=異常ファイルサイズのしきい値、例えば2000

for %%i in ( %DATAPATH%\%FNAME% ) do set size=%%~zi
echo %size%
if /I %size% LSS %THRESHOLD% goto RESTORE

if exist %BUPPATH%\NUL goto BACKUP
md %BUPPATH%

:BACKUP
copy %DATAPATH%\%FNAME% %BUPPATH% /y
goto END

:RESTORE
copy %BUPPATH%\%FNAME% %DATAPATH% /y
SET DTSTR=%DATE% %TIME%
ECHO %DTSTR%>>%BUPPATH%\%OUTFILE%

:END
EXIT

|

« Windowsのスタートアップフォルダの項目の起動時にエラーが | トップページ | 外付けハードディスクケース »

Windows」カテゴリの記事

コメント

航海日誌って、格好いいね。クール!!!

投稿: 負け犬 | 2015年8月11日 (火) 19時28分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: ファイルサイズの監視とバックアップとリストア:

« Windowsのスタートアップフォルダの項目の起動時にエラーが | トップページ | 外付けハードディスクケース »