「同じ自宅サーバー作ろうよ」計画! Ver3.x
 
■自動バックアップ■

HOMEへ

■バックアップの方法
みなさんは大切なデータをどの様にバックアップしています?
立派なサーバーをお持ちでRAIDシステムを組んでいる?
HDDを2台用意しバックアップしている?
同じHDDに空き領域があるのでそこにバックアップしている?(お金もないし…)
バックアップ用に複数のPCをLANにつないでいる?

どうも自前でバックアップ機器を用意するのがお好きなようですね。
私はプロバイダの無料スペースにバックアップしています。
だって自分のPCより堅牢高価確実ですもの。

■自動バックアップの紹介
私はFTPを利用してプロバイダに(も)バックアップしています。
毎日手動でバックアップも良いでしょう。
タスクを利用して定期的に自動バックアップも良いでしょう。
ここでは簡単に出来るリアルタイムバックアップを紹介します。
□XCOPYによるサーバー内及びLAN内のバックアップ追加2004.01.30

■用意するソフト
これらはサーバー機に置いて動作させます。
□FTPソフト
「FFFTP」などのコマンドライン実行に対応しているもの。
□定期実行ソフト
「Fwatch」などのファイル監視ソフト。
(或いはWindows標準のタスクなどを利用するとリアルタイムではありませんが定期実行できます)
私は元々Fwatchを他の目的で使っていますので便乗してバックアップにも利用しています。
□SSH暗号化ソフト
「Tera Term Pro (TTSSHプラグイン)」など。
FTPソフトはパスワードなどを平文(簡単に解読可能)で送信します。
ネットにデータ-を流す際は暗号化を薦めます。
プロバイダがSSHに対応しているかは各人で確認ください。
☆設定法は割愛します

■動作の概要
Fwatchにて(私の場合)掲示板のログファイルを監視させます。
ログファイルの変化(書き込みによるタイムスタンプの変化)を定期的にチェックさせます。
変化を検地したらコマンドラインでFTPを起動させプロバイダのスペースにバックアップさせます。
FTPの設定で「日付の新しいものだけアップロード」と指定しておくとバックアップ時間も短縮されます。

■FFFTPの設定
□オプション-環境設定
タイムアウトを無制限にします。しかしプロバイダからタイムアウトされる場合もあります。


ミラーリングの設定。自動アップロードですから確認ダイアログは不要です。



□接続-ホストの設定



■Fwatchの設定
アプリケーションのパスが図のようにスペース入りであれば” ”で囲む必要があります。
パラメーターは「-s FTPBACKUP -m -f -q」と書きます(FFFTPのHELP参照)。
□私の例の場合
C:¥PUBLIC_HTML配下のフォルダを含む全てのファイルを/PUBLIC_HTML/BACK/配下に
確認なしで日付の新しいものを上書きアップロードします。



■動作の確認
1 FFFTPを手動でアップロードします。
これは意図したフォルダに予定通りのファイル(構成)がアップロードされるか確認するものです。
注意点:カナ漢字などの日本語ファイル名とスペースなどが入ったファイルはエラーを起こしアップロードできません。
ここでの手動アップロードでエラーが発生した場合はファイル名を修正し再度手動にでアップロードしてください。
2 スタート-ファイル名を指定して実行に -s FTPBACKUP -m -f -q と入力しFFFTPの動作の確認をします。
先に手動でアップロードしていますので更新ファイルはないため何のファイルもアップロードしません。
FFFTPにエラーがないか、パラメータに問題はないかを確認する操作です。
3 本番の確認
Fwatchを使った動作確認をします。
Fwatchが監視しているファイル(C:\PUBLIC_HTML\BBS\BBS.LOG)をエディタ(メモ帳など)で開き上書き保存します。
ほぼ同時にFwatchがファイルの日付の変化を検出しFFFTPのアップロードが始まります。
FFFTPの窓がBBS.LOGだけをアップロードしてくれれば設定、動作に問題ありません。

■参考まで
□今回はFTPによるバックアップを紹介しました。
なぜFTPなのか?理由はWAN(ネット)側、LAN側のバックアップ先(場合によってはバックアップ元)を選ばないからです。
(WindowsのコマンドやフリーソフトではほとんどがLAN内だけの操作です。また共有フォルダが必要だったり)
サーバー機にFTPサーバーを構築しているならクライアントから、或いは会社から定期的にバックアップするのも良いでしょう。
□USBメモリなんて市販されています。
これはW2KですとUSBに差し込むだけでリムーバブルディスクとして認識してくれます。
サイズは64MB〜1GBが最高(2003.12)で値段は実売で3千円〜3万円くらいです。
このUSBメモリにXCOPYなどのコマンドでバックアップするのも安心確実な方法かも知れません。

■XCOPY
Windowsの標準のコピーコマンドにXCOPYがあります。
これはCOPYコマンドより高機能で、LAN内のPC(自機含)にフォルダごとコピーするコマンドです。
□推奨する使い方
物理的に2台目以降のHDD又はHDDに変わる記録装置(MOやUSBメモリ、CFカードなど)にXCOPYしたいものです。
1台のHDDを複数のドライブに分けて(C: D: E: など)あってもディスクのBOOT領域がやられますとD:やE:は認識しなくなりバックアップの意味が薄れます。
安価で書き込みスピードが速い電子記憶装置(USBメモリなど)を準備されるのをお勧めします。

オプションの指定により日付の新しいものを上書きコピー出来ます。
ミラーリング(同期)には対応していません。
□ミラーリング:コピー元のフォルダ、ファイルを同じ構成でコピー先にコピーする仕組み。
XCOPYはコピー元のファイルを追加したり上書きするだけでコピー先のファイルを削除する機能はありません。

そこでXCOPYにミラーリング機能を追加したYCOPYの登場です。

■YCOPY
これはYoshitanさんがフリーソフトとして配布しています。
XCOPYのオプションにミラーリング引数(/yy)を追加したコマンド実行型のソフトです。
入手、解凍後、SYSYTEM32フォルダに置いて下さい。
□XCOPYのオプション

XCOPY コピー元 [コピー先] [/A | /M] [/D[:日付]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N] [/Z] [/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...]

コピー元 コピーするファイル (複数可) を指定します。
コピー先 新しいファイルの位置や名前を指定します。
/A アーカイブ属性のファイルのみをコピーし、属性は変更しません。
/M アーカイブ属性のファイルのみをコピーし、アーカイブ属性を解除します。
/D:月-日-年 指定された日付以降に変更されたファイルをコピーします。日付が指定されなかったときは、送り側の日付が受け側の日付より新しいファイルだけをコピーします。
/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...文字列を含むファイルの一覧を指定します。文字列がコピーされるファイルの絶対パスの一部と一致した場合、そのファイルはコピーから除外されます。
/P 受け側のファイルを作成する前に確認のメッセージを表示します。
/S 空の場合を除いて、サブディレクトリをコピーします。
/E サブディレクトリが空であってもコピーします。
/S /E と同じ意味です。/T と同時に指定できます。
/V 書き込んだ各ファイルを検証します。
/W キー入力があるまでコピー開始を待ちます。
/C エラーが発生してもコピーを続けます。
/I 受け側がなく複数のファイルをコピーする場合、受け側をディレクトリとしてコピーします。
/Q コピー中ファイル名を表示しません。
/F コピー中送り側と受け側の全ファイル名を表示します。
/L コピーされるファイル名を表示します。
/H 隠しファイルやシステム ファイルもコピーします。
/R 読み取り専用ファイルを上書きします。
/T ファイルはコピーせずにディレクトリのみを作成します。ディレクトリまたはサブディレクトリが空の場合は除きます。/E と使用すればディレクトリやサブディレクトリが空でも作成されます。
/U 受け側に既に存在するファイルだけをコピーします。
/K 属性をコピーします。通常の XCOPY は読み取り専用属性を変更します。
/N 生成された短い名前を使用してコピーします。
/O ファイルの所有権と ACL 情報をコピーします。
/X ファイル監査設定をコピーします ( /O を含む)。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示しません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示します。
/Z 再起動可能モードでネットワーク ファイルをコピーします。

環境変数 COPYCMD にスイッチ /Y を設定できます。
これは、コマンド ラインの /-Y で無効になります。

□XCOPYの設定例

XCOPY C:\UTY D:\BACK\UTY /C /D /E /I /Q /Y

C:\UTYフォルダ配下の全てを  C:\UTY
D:\BACK\UTYフォルダ配下に  D:\BACK\UTY
新しいファイルは  /D
確認なしで上書き  /Y

コピー中のファイル名は表示しない  /Q
エラーがあってもコピー継続  /C
空フォルダもコピー  /E
/I  おまじない。付けた方が良い。説明

■YCOPYの設定例

YCOPY C:\UTY D:\BACK\UTY /C /D /E /I /Q /Y /YY

上記XCOPYの処理後
コピー元とコピー先を比較し
コピー先のファイルの中で
コピー元に無いファイルを
削除する  /yy

結果、コピー元とコピー先の内容が同じになる(ミラーリング)。

■BATファイルで実行
例のように単一フォルダ(C:\UTY)だけならタスクや前出のFwatchに直接書いても良いのですが
複数フォルダーのバックアップですと書くのも大変です。
ここはBATファイルを作って簡単管理にしましょう。

メモ帳などで新規ファイルを作り「BACKUP.BAT」などと名前を変えます(拡張子は必ず.BAT)。
中には

YCOPY C:\UTY D:\BACK\UTY /C /D /E /I /Q /Y /YY
YCOPY C:\AAA D:\BACK\AAA /C /D /E /I /Q /Y /YY
YCOPY C:\BBB D:\BBB /C /D /E /I /Q /Y /YY
YCOPY C:\CCC E:\ /C /D /E /I /Q /Y /YY

と記述し保存。
BACKUP.BATをWクリックするとミラーリングが始まります。

□最終行 YCOPY C:\CCC E:\ /C /D /E /I /Q /Y /YY に注目
ここのE:\の部分がおまじないオプション(/I)の有効動作となります。
E:\CCCと書かない場合、C:\CCCの「CCC」がファイルなのかフォルダなのかX(Y)COPYはわからなくなります。
したがって「ファイルですかフォルダですか?」と尋ねる確認窓が出てきます。
もちろん窓に入力しない限り次の動作へは進みません。
こんな場合にフォルダと勝手に指定してくれるのが/Iオプションです。
/Iの指定により確認なしでE:\CCCフォルダを勝手に作成しX(Y)COPYは継続して実行してくれます。

YCOPY C:\CCC E:\CCC /C /D /E /Q /Y /YY と同じ動きになります。

□このBACKUP.BATをタスクやFwatchに登録します。

■しかし…DOS窓がうざい(ToT)
Windows2000でBATファイルを実行するとDOS窓が出ます。これは以前のOSと違って最小化の設定ができません。
そのBATファイルのショートカットを作りプロパティを「最小化」に変更するとDOS窓は最小化できます。
*あれぇ、いつから出来るようになったんだろう。WinUpDateしてから??2004.08記
Fwatchには「ウィンドウのサイズ」が指定できますので「MIN」(最小化)などに設定できます。

その他のバックアップソフトや監視ソフトもいろいろ試してくださいね。

tukaeru氏の「フォルダ監視」多機能です。最短監視間隔は10秒ですがiniファイルの直接編集でさらに短くできます。

擬無停止サーバーと自動バックアップを導入して以来、私はハングアップの心配やサーバー本体を触ることが無くなりました(ログのチェックやアップデートを除く)。
今のところ(私の実力の範囲で)UNIXにも負けない最高のWinサーバーではないかと自負しております。V(^ ^)V

HOMEへ

 
 
SAO「同じ自宅サーバー作ろうよ」計画!