Dropboxを使用して外付けハードディスクを丸ごとバックアップする方法

私は自分のデータ(数百GB)は全て自宅の外付けハードディスク(2重)にバックアップを作成することにしている。

これでほぼ大丈夫なのだが、唯一解消しきれないリスクは自然災害などで自宅ごと壊れてしまうようなケースだ。

このリスクを回避するには、遠隔地にバックアップを置くしかない。(自宅も遠隔地も共に壊れるようなリスクはもう諦めるしかないだろう。)

遠隔地にバックアップを取る方法として、個人ができそうなのはクラウドの活用である。そこでDropboxをProアカウントにアップグレードして自宅の外付けHDDをまるごとDropboxにバックアップすることを思いたった。Dropbox Proは1TBの容量があるのでそこは十分である。

問題となるのはDropboxは基本的にはPC内の1つのフォルダ以下だけを同期対象とする点である。当然、外付けHDD(例えばZドライブ)はPCのローカルディスク(通常Cドライブ)ではないので、そのままではDropboxの同期対象にすることができない。

これを解消する手段としては2つ考えられる。

(1) 外付けHDDのシンボリックリンクをDropbox管理フォルダ内に作成する

(2) Dropbox Desktop クライアント以外のソフトを使って、外付けHDDの内容を直接Web上のDropboxに書き込む

ネット上でよく見かけるのは(1)の方法である。この方法はクラウドへのバックアップそれ自体は問題なく動作するのであるが、注意しなければいけない点が2つある。

1つはシンボリックリンクの無限ループのリスクである。実際に私がやらかした無限ループとは以下のようなものである。

まずDropbox自体のコピーを作成すべく、Dropboxフォルダの全内容を外付けHDDにバックアップする。

次に、外付けHDDの内容をWeb上のDropboxに投入すべく、外付けHDDのシンボリックリンクをDropbox内に作成する。

これで無限ループの完成である。つまり仮にDropboxをD、外付けHDDをZとすると、DをZにコピーするのだが、このDの中にZ自体が含まれているため、Z(Dropbox内) → Z(外付けHDD) → Z(Dropbox内) → …と無限にコピーが繰り返されつつ、ファイル容量も雪だるま式に増えていく。

これを回避するにはDからZへのコピーの際に、Dをまるごとではなく、Dの中からZを除外したものをコピーしなければならない。BunBackupという老舗フリーバックアップソフトにはこの機能がある。

もう1つの注意点は、複数台のPCでDropboxを使っている場合に、シンボリックを作成したPC以外のPCではDropboxのクライアントから選択的同期の設定を行い、非同期フォルダは同期対象から確実にはずしておくことである。これを忘れると不要かつ巨大なファイルのコピーが作成されるばかりか、間違って削除してしまうリスクも高まる。

いずれも回避できなくはないが、一歩間違えると非常に危うい問題である。

そこで(2)の方法に期待が出てくる。こちらの方法では無限ループのリスクがないからだ。問題はこういうことを確実にこなせるソフトウェアが存在するのかという点になる。SyncBack Pro(こちらは有料ソフト)は、この機能が実装されていると称している。そこで実際に試してみたのだが、残念ながら日本語を含むフォルダ名に不具合が残されている。アプリそのものはUnicodeファイル名対応を謳っているので、開発者はおそらくこの問題に気づいていないのだろう。バグレポートを送信したので、開発元が修正できるかを評価したいと思う。→ 開発者sサイド(米国)では問題が再現しないとのこと。しかし私の検証では複数のPCで同じ問題が再現するので、おそらく日本語版Windowsと英語版Windowsで日本語を使用することは、文字エンコード処理上、何らかの違いがあるのではないかと推測している。

そういうわけで現状、やむを得ずリスクを犯しつつ(1)の方法で運用を開始している。

根本的に解決するにはDropbox以外の複数フォルダの同期に対応するクラウドを使用する方法が考えられる。SugarSyncはこれが出来るはずだが、500GBで年額4万円(2016/02/16現在)と、Dropboxの1TB年額1万2千円と比べると高すぎてお話にならない。価格面でDropboxに対抗できそうなメジャーなクラウドときたらGoogle Driveということになるが、こちらは1フォルダしか指定できない点ではDropboxと同じであるが、Dropboxと併用するというアイディアはありうるだろう。

コメント