複数PC間やAndroid端末間でのファイル同期など、Dropboxはいろいろな場面で活躍してくれています。
PC上ではDropboxフォルダ内のファイルやフォルダが同期されるわけですが、このフォルダ以外の場所にあるものを同期したい場合もあったりします。
Dropboxフォルダ内に移動すればいいのですが、フォルダの場所を移動できない場合や移動したく場合もありますし、かといってDropboxフォルダ内に同じファイルのコピーを置き続けるのはちょっともったいない。
そこで今回は、シンボリックリンクを使ってDropboxフォルダ外のフォルダを同期させてみることにしました。
目次
シンボリックリンクの作成方法
シンボリックリンクはリンク元のフォルダやファイルと同等の実体として扱うことができ、実際そこにファイルやフォルダがあるものとして扱うことができます。
以前このサイトでは、シンボリックリンクを使ってChromeのキャッシュ保存場所を別の場所に移動するという記事を書いたことがあります。
そちらの記事内でも作成方法には触れていますが、この記事でも作成方法をまとめておこうと思います。
シンボリックリンクの作成はコマンドプロンプトから行います。
コマンドプロンプトはスタートメニューから「cmd」と入力し、管理者権限で実行します。
ディレクトリのシンボリックリンクを作成する際のコマンドは以下のようになります。
mklink /d “「作成するシンボリックリンク」” “「リンク元(実体)ディレクトリ」”
例えば、「D:\files」というディレクトリのシンボリックリンクを「G:\Dropbox\files」として作成する場合は、
mklink /D “G:\Dropbox\files” “D:\files”
というコマンドになります。
シンボリックリンクを作成する場所に既に同名のファイル・フォルダがある場合や、リンク元のファイル・フォルダがない場合はエラーになるので注意してください。
また作成したシンボリックリンクを削除するコマンドは以下のようになります。
rmdir “「削除するシンボリックリンク」”
上記の例の場合、「G:\Dropbox\files”」のシンボリックリンクを削除するコマンドは、
rmdir “G:\Dropbox\files”
になります。
Dropbox外のフォルダをシンボリックリンクで同期
Dropboxフォルダにシンボリックリンクを作成する場合
ということで本題へ。
今回は「D:\files」というフォルダをDropboxで同期するようにし、Dropboxフォルダ内の配置は「G:\Dropbox\files」とします。
コマンドプロンプトで実行するコマンドは、上の例と同じものです。
mklink /D “G:\Dropbox\files” “D:\files”
Dropboxフォルダ内に「D:\files」のシンボリックリンクが作成されました。
WebのDropboxサイトでも「files」フォルダが作成されていることが確認できると思います。
これで「D:\files」内のファイルやフォルダを編集すると、「G:\Dropbox\files」内でも同様に編集されるようになったのですが、ここでひとつ注意点が。
試しに「D:\files」にファイルを作成してみると「G:\Dropbox\files」にも同様のファイルが作成されているのですが、
WebのDropboxサイトを確認するとまだ同期されていません。
Dropboxフォルダ内にシンボリックリンクを配置した場合、実体ファイルではないため更新が認識されないようで、ファイルの同期はDropboxを再起動した時点になります。
バックアップ目的など即時同期でなくてもいい場合はこれで問題ないと思いますが、ファイル更新を即時同期したい場合は少し使いにくい場合があるかもしれません。
Dropboxフォルダ内のファイルをリンク元にする場合
あまりPCを再起動しない場合など、同期にDropboxの再起動が必要になるのは少しめんどうなので、Dropboxフォルダ内に実体フォルダを置いて、これをリンク元にしてシンボリックリンクを作成してみます。
リンク元(実体)として「G:\Dropbox\files」を作成しておき、このフォルダのシンボリックリンクを「D:\files」として作成します。
コマンドプロンプトで実行するコマンドは、先ほどとディレクトリが逆になります。
mklink /D “D:\files” “G:\Dropbox\files”
シンボリックリンクとして「D:\files」が作成されました。
試しに「D:\files」を開いてフォルダ内にファイルを作成してみると、リンク元である「G:\Dropbox\files」内にファイルが作成されています。
またこちらに方法ではDropboxフォルダ内に実体ファイルがあるので、WebのDropboxサイトで確認してみても、ちゃんと即時同期されています。
当然「D:\files」を開いて中のファイルを削除すれば、「G:\Dropbox\files」内のファイルが削除され、Dropboxサイトでもすぐに同期され削除されます。
どちらがいいかは使い方によりけり
Dropboxとシンボリックリンクを組み合わせて使う場合、シンボリックリンクをはる方向によって同期の挙動が変わります。
Dropbox内にシンボリックリンクをおく場合、元のフォルダの場所を移動する必要がなく準備が簡単です。
ですが同期にDropboxの再起動が必要なため、PCをあまり再起動しない場合や更新を即時同期したい場合は少し不便です。
逆にDropbox内にリンク元の実体をおく場合は、同期にDropboxの再起動が必要ないため、即時同期したい場合にも問題ありません。
ただ元々使っていたフォルダのシンボリックリンクを作りたい時には、そのフォルダを一度Dropboxフォルダ内に移動しなければならないため、準備に少し手間がかかります。
どちらの方がいいかは使い方によって変わると思いますし、フォルダの目的に合わせてシンボリックリンクをはる方向を変えるのがいいかもしれないですね。