日記
バックアップの方法 (17:00)Edit

Sleipnir作者、開発マシンが盗難に遭う」を読んで。

Windows系の開発者っていまだにバージョン管理ツールとか使っていない人、結構いそうだよなー。いや、Sleipnirの作者さんは、もしかしたらローカルでCVSとか使っていたかもしれないけど。

現状バックアップ環境ってものがいまいち整っていない原因のひとつは、やっぱり手軽なサーバー環境が少ないからだと思う。ふつうのプロバイダが提供するサービスに、WebDAVとかSubversionとか(SSL+認証設定可能)があれば、結構気軽にサーバーにバックアップを取ったりできるだろうに。

現在一番手軽なのは、さくらの専用サーバーかなー。月6800円という値段は、Web+メール+20Gディスクスペース+安定したネットワーク環境+電気代等考えれば十分その価値があると思うけど、それを値段分だけ使いこなすスキルが必要ってところが難。Webmin経由でしか設定をいじらないとしても「誰でもできる」というわけにはいかないからなー。

デスクトップLinux関係はいろいろ頑張っているところがあるみたいだけど、個人用サーバーLinuxというターゲットも今後は需要が増えるんじゃないかな。コントロールパネルの発展系なんだろうけど、もっとデスクトップLinux並にターゲットユーザーを低くする感じで。

ちなみに俺は、ここ最近はSubversionをバックアップ環境のメインとして使っている。cron+pdumpfs+rsyncとかも試してみたけど、その手の自動バックアップの仕掛けは、ディレクトリ丸ごとバックアップとかになっちゃって、長い間使っているうちに不要なデータがたまりすぎて、たまりすぎたバックアップデータの管理(人間ガベージコレクション)が面倒くさい。

Subversion+TortoiseSVNだと、自分の好きなタイミングで好きな部分(ディレクトリ、ファイル)だけバックアップできるし、差分も必要最低限しか残らないので、検索性も高い(cron+pdumpfsだと不要でも定期的にバックアップが取られてしまうけど、個人用バックアップの場合はそこまで完璧なバックアップは逆にじゃまくさい)。あと「ここはテンポラリだから、バックアップ不要」みたいな設定も柔軟に(そのディレクトリだけignoreすればいい)できる。あと、CVSと違ってバイナリのコミットとかファイルの移動とかも気楽にできるし。

ただ、バージョン管理システムというものの概念と、それにまつわる操作のコツがわからないと、ちゃんと使いこなせないだろうな、とも思う(TortoiseSVNを使っていると、普段の操作はExplorerから手軽にできるけど、ディレクトリの移動・削除とか、ファイルの移動とかは、Subversionの仕組みを意識しながらやらないといけなかったりする)。あと、ソースコードのバージョン管理に使うならばSubversionのフル機能(差分管理とか)が必要だけど、単なる履歴付きバックアップストレージとして使うならば、そこまでの機能はいらない。というか、ない方が使いやすい。

ちなみに今まで自分が試してきたバックアップ環境の歴史は、

  1. 手動でメディア(フロッピーディスク、MO、CD-R、別ハードディスク)に気が向いたときにフルコピー
  2. 半自動で別ハードディスクに差分コピー。ときどき気が向いたときに外部メディアにフルコピー。
  3. 半自動で別ネットワークドライブに差分コピー。
  4. JUST SYSTEMのInternetDiskサービスと専用クライアントツールを使って、気が向いたときに外部サーバーに差分コピー。
  5. pdumpfsで別ハードディスクに履歴付きコピー+手動rsyncで最新データを別サーバーにコピー。
  6. バックアップしたいデータは必ずEclipseのプロジェクトにして、EclipseのCVSプラグインでCVSサーバーに手動コミット(履歴付きバックアップ)。
  7. Subversion+TorutoiseSVNで、バックアップを取りたいディレクトリをExplorer上でプロジェクト化し、必要なときに必要な分だけ手動コミット。

なんて感じかな。順番はだいたいあっているけど、必ずしもまっすぐ下に下りてきたわけではなく、途中で行ったり戻ったりも結構ある。そういや昔々のデータって、家のどこかにふるーいHDDという形式で埋まっているんだよなー。DOS/VとかWindows 3.1とかの頃のIDEとかSCSIのハードディスクからデータを吸い出すのは、今となっては大変そうだ。

あとちなみに、ここに書いたのはあくまでも個人的なデータのバックアップ方法であって、サーバーのデータとか仕事関係のデータのバックアップについてはまた別の話。

Published At2004-11-18 00:00Updated At2004-11-18 00:00