Dropboxの使い道


Dropboxの容量がこのブログの読者様のご慈悲により10GBになったので(→ http://d.hatena.ne.jp/yaneurao/20100531 )、これが何の役に立つのか考えてみた。


まず、Dropboxはいわずと知れた複数のコンピュータ間でフォルダ同期を取るソフトだ。


ファイルはサーバー側にも保存され、Webブラウザでファイルをダウンロードすることも出来る。ファイルのバージョン管理もされており1ヶ月以内なら以前の状態に戻すことが出来る。また削除したDropboxフォルダ内のファイルの復活もできる。


無料アカウントの容量は2GBまで。有料アカウントは50GBが年99ドル、100GBが年199ドル。
(いまは、一人紹介するごとに250MBの容量が追加されるキャンペーンをやっていて、最大2GB+250MB×32人紹介=10GBまで増量できる。)


みんなが便利だ便利だと言うのでDropboxの使い道がないかといろいろ考えてみたが写真や動画など大きなファイルをアップロードするのには向いていないと思う。2GBだとすぐにあふれるし、有料アカウントを使ってアップロードしようものなら半永久的に課金しなくてはならない。そんなのは嫌だ。


かと言って銀行のパスワードやキャッシュカードの番号など重要なデータをDropboxフォルダに入れるのは怖すぎる。Dropboxのパスワードが漏洩したら即座に人生オワタになりかねない。Dropboxをインストールしたパソコンが古くなって処分したときにもDropboxアカウントから大切な情報が漏洩しかねない。そんな爆弾は抱えたくない。BitLockerかTrueCryptと組み合わせて使えば少しはマシだろうけど。


また単純なファイルの受け渡しのために使うなら容量制限の厳しいDropboxを使わなくともMSNメッセンジャーのファイル共有なんかでいいような気がする。


ファイルを以前の状態に戻せるとは言っても1ヶ月前の状態までなのでVisual StudioのプロジェクトなどはVSSやSubversionなどバージョン管理システムで管理すべきだろう。本の原稿を複数の著者で編集するような場合にはお手軽で便利ではあるのだが、差分をとる機能がないので普通のバージョン管理システムのほうがいいのではないかと思う。


あとC++なんかだとコンパイル時に中間ファイルが大量に生成されるが、そのフォルダを除外する機能がDropboxには無いので(次のバージョンアップで細かな共有が出来るようになるらしいのだが…)、ちょっと使いにくい。


結局、いろいろ使ってみたところ、一番役に立つ使い方はチラシの裏だった。


雑誌の原稿とかブログの記事とかToDoとかチラシの裏的なメモがノーパソでもデスクトップでもLinuxMacOSでもシームレスに書ける。


※ 以前は私はGoogleカレンダーにメモしていたのだが、全文検索がうまく機能しないのでGoogleカレンダーにメモするのはやめた。→ Googleカレンダー全文検索がおかしい件 http://d.hatena.ne.jp/yaneurao/20100606#p5


ちなみに↓これは私のDropboxのアカウントの紹介用リンクだ。ここから登録すると私と登録した人のアカウントが250MBずつ増える。もしよかったらここから登録して使ってみて欲しい。
https://www.dropbox.com/referrals/NTczNTUyMTk5


あと、Dropboxは複数のフォルダをターゲットフォルダには出来ないが、ジャンクション(≒シンボリックリンク)を作るソフト(例えば→ http://schinagl.priv.at/ )を使って、Dropboxのフォルダ内に対象としたいフォルダのジャンクションを作っておけばうまくいく。

Windows Live Syncで構築するバックアップ環境


結局、Dropboxでは容量制限が厳しいのでオンラインストレージをバックアップ目的で使うのには無理があることがわかった。以下では私がやっているバックアップの方法を紹介する。


Dropboxに似たサービスとしてMicrosoftWindows Live Syncというのがある。


無料サービス“Windows Live Sync”で複数PCのファイルをらくらく同期!
http://www.forest.impress.co.jp/article/2009/05/28/live_sync_sp.html


こちらは、複数のPCでファイルを同じ状態に保つのに適している。無料のサービスだが、ファイルサイズに制限はないので1つのファイルが1TBでも2TBでも何の問題もない。


ただし、サーバー側にファィルが保存されるわけではなく、あくまで複数のPCでファイルを同期させるだけなので、2台以上のPCが同時に立ち上がっていないと意味がない。前の状態に戻すことも出来ない。


私は以前はSyncToy v2.0で外付けのHDDとsyncさせていたのだが、定期的にsyncさせるのが面倒だし、物理的に離れた場所にあるパソコンとsyncさせないと何らかの災害時(火事や地震、盗難etc…)にまとめて紛失する可能性があるので実家のパソコンとsyncさせるためにWindows Live Syncを使っている。


しかしWindows Live Syncを使い続けて、いろいろ欠点が見えてきた。


・LiveSyncは、syncが完了してるフォルダがどれだかさっぱりわからない。ブラウザでWindows Live Syncのサイトにアクセスすれば確認は出来るが、さすがにそれは面倒くさい。Dropboxならフォルダにチェックマークがつくので一目瞭然なのだが。


・細かなアクセス制御が出来ない。実家のパソコンのほうはバックアップ用なのでreadonlyでsyncさせたいが、同一アカウントだと片方のPCをreadonlyにすることは出来ない。パソコンごとにアカウント(Windows Live ID)を別に用意すれば片方のPCをreadonlyに出来るのだが、最初私は気付かなかった。


Windows Live SyncはWindowsにログインしてないと使えない。少し面倒くさい。バックアップ用のパソコンはバックアップをとりたいときに電源を入れて、syncが完了したら電源をオフにしたいのだが。


・ファイル数は20000まで。syncできるフォルダは10個まで。つまりファイルは最大で2万個×10フォルダ=20万個まで。この制限はゆるいように思えるが、私はファイル数制限にときどき引っかかる。そのたびにファイルのたくさんあるフォルダをzipで圧縮して、元のファイルを削除している。これが結構面倒くさい。


Outlookのメールフォルダもbackupのためにsyncさせることにしたのだが、メールを一個受信するごとにメールフォルダにあるメールボックスのファイル(pstファイル)をまるごとsyncしているPCに送信する。私の場合、このファイルは4GB程度あるので、1KBのメールを受信しただけで4GBまるごと実家にあるパソコンにアップロードする。トラフィックが無駄すぎる。あと、こんな大きなファイルをノーパソとsyncさせるとメールをひとつ受信するごとに4GBも書き込むので、ノーパソのSSDの寿命が一気に縮みそうだ。


・バックアップ目的で使うなら要注意。HDDの一部が破損して、ファイルが正常に読めない状態でそれをsyncさせると、もう片方のHDDのほうもファイルはおかしくなる。つまりDropboxと異なり、サーバー側にコピーを持っていないのでバックアップ用途で使うと痛い目に遭う。


また、バックアップ用のPCはreadonlyにしておかないと、バックアップ用のPC側のHDDが破損して、それとsyncするとメインのPCのファイルも破損する。全然バックアップの意味をなさない。むしろリスクが増大している。


つまり「3台でsyncさせておけば大丈夫!」とか思ってsyncさせてても、どれか一台のPCのHDDが壊れると残り2台も巻き添えを食うわけだ。ゆえにバックアップ用のPCは必ずreadonlyにするというのと、定期的に別途バックアップをとるようにするか、バックアップ用のPCは(メインPCのHDDが破損してそれをいきなりsyncされても困るので)普段は電源を落としておくとかそういう運用になる。


そこで、私が考えたのは、バックアップ用のPCのHDDの容量に余裕を持たせておいて、復元ポイント用の領域をかなり大きめに確保することだ。これなら、例えばメインPCが破損してそれをsyncしてバックアップ用のPCのHDDのファイルを破壊してしまった場合でも、バックアップ用のPCの復元ポイントを使って元に戻すというような運用が可能になる。


Windows Vista以降でそなわった復元ポイントは非常に便利で、復元ポイントでのフォルダのスナップショットを見ることが出来る。スナップショット自体のpathが与えられている。例えば次のようなpath名になる。


\\localhost\E$\@GMT-2010.07.06-23.24.23


ゆえに、普通にどのソフトからでもそのスナップショット内のファイルにアクセスできるのだ。差分比較ソフトと組み合わせれば、昨日と一昨日のフォルダ内容を比較したりすることも出来る。


あと、フォルダ自体の暗号化には私はBitLockerを用いているが、これはWindows7のUltimateとEnterpriseエディションでしか提供されないので、BitLockerを使えない/使いたくない場合はTrueCryptを使うと良いと思う。


注意点として、Windows Live Sync/Dropboxはログイン時に起動する設定にしておくと、BitLockerのドライブがマウントされていない状態なので、アクセスに失敗する。Windows Live Syncのほうは、そのときに共有してたフォルダが解除されてしまう。再度共有をかけると更新されたファイルがないかをスキャンしだすのだが、私の場合、300GBほど共有していて、そのファイルのスキャンに4時間ぐらいかかるのでその間、他の作業が出来ない。ゆえに、ログイン時に起動させないようにしておかなければならない。


Windows Live Syncで遠隔地のパソコンとsync×復元ポイント×BitLocker = 安心バックアップ環境


以上のようにWindows Live Syncはうまく使えば便利ではあるが、いろいろ機能が不足しているので運用には大変気を使う。復元ポイントと組み合わせるというのが私の考えた技で、読者諸氏も是非活用していただきたい。


※ もっといい方法があればコメント欄で教えてください。

vhd×復元ポイント


復元ポイントの問題点として対象がドライブまるごとになってしまうということが挙げられる。Windows Live Syncで共有しているフォルダだけ大きな復元ポイント用の容量を確保したいのである。


Windows 7/Windows Server 2008 R2以降は、vhd形式という仮想ドライブが標準でサポートされている。vhdドライブからブートさせられたり、なかなか便利な機能ではあるのだが、ネイティブのドライブとの違いがいくつかある。


私が最初考えたのは、Windows Live Syncでバックアップのために共有させるドライブはvhdで用意した仮想ドライブにすればどうかということであった。それならば、そのドライブだけ復元ポイント用の容量を大きく確保することも可能だし、物理ドライブまるごとBitLockerを使って暗号化するより効率的なはずだ。


そもそもBitLockerで2TBのHDDをLockしようとしたら、最初のBitLocker用のドライブに変換する作業に100時間程度要した。時間がかかりすぎる。BitLockerを適用するドライブ容量は適度に小さいほうが良いと思う。


そこで、vhd→仮想ドライブマウント→BitLocker→復元ポイントの容量を大きく確保→Windows Live Syncでsyncという風に運用すれば、バックアップ環境としては完璧じゃないかと思った。これを思いついたとき、私は「これは凄い」と興奮した。


でも、実際やってみるとvhdで用意した仮想ドライブに対して復元ポイントが用意できないのだ。
また同じくTrueCryptで用意した仮想ドライブに対しても復元ポイントが用意できない。
復元ポイントは物理ドライブに対してしか用意できないようなのだが、何故こんな仕様になっているんだろう…。


ともかく、「これは凄い」アイデアかと思ったら、「これは凄くない」アイデアだったようだ。はてなブックマークで「これは凄くない」というタグでも貼ってもらえると慰めになる。

Dropboxのフォルダ選択してのsync


Dropboxのβ版(2010/07/20現在、Dropbox 0.8.89)ではフォルダ選択をしてのsyncが出来る。ノーパソなどHDD容量に制限がある場合、この機能はとても便利である。


「フォルダを選択してのsync」とは言っても、複数のフォルダをDropboxの対象フォルダに出来るという意味ではなく、あくまでDropboxのフォルダはひとつで、ノーパソのほうは、(Dropboxフォルダのなかの)このフォルダはsyncさせないというような設定ができるという意味である。


複数のフォルダをsyncさせる機能はやはりないようなので、junctionを用いるのが現実的なようだ。


なお、このDropboxのβ版の機能は、そのうち正式版のほうに取り込まれるはずなのだが…昨年末から正式版のほうのバージョンアップは止まったままである。一体、いつまで待てばいいのやら…。


私が試した限りは、ノーパソのほうだけβ版、デスクトップ機は正式版(0.7.110)という運用は可能なようなのでノーパソのほうにだけβ版をインストールするといった使い方は出来そうだ。

SkyDrive + Windows Live Sync


Windows Live Syncの新しいバージョンでは、SkyDriveのうち2GBをWindows Live Syncのフォルダとして割り当てることが出来るようになったようだ。(私は動作未確認。以前のバージョンと共存できない&以前のバージョンでsync設定しているPCにはすべて新しいバージョンをインストールして再度syncの設定をしないといけないらしい。)


これによりDropboxのようなバックアップ用途としての使い方が出来るようになるのかも知れないが、SkyDrive自体は昔からいろいろバグがあって、ファイル破損やらファイル消失やら何やらがよく起きるので、これはバックアップ目的で使うことはしないほうが無難じゃないかとは思う。

Windows Live Mesh


(2010/08/31追記)


Windows Live SyncはWindows Live Meshと改名されるようだ。SkyDriveは2GBから5GBに拡張される。また先日からファイルの個数制限(2万個)は緩和されたらしい。(未確認)


それはそれとして、ここのところWindows Live Syncのサーバーに長時間接続出来ないことがときどきあって、2,3日放置してるとまた接続できるようになったりするのだけど、この不安定さは…正式版までにはなおるのかな?