機能の差が分かりにくいDropboxの「選択型同期」と「同期の無視」の違い
DropboxアプリをMacに入れて同期しておくと、Dropboxフォルダ内に入れたファイルは別デバイスでも開けますし、環境設定ファイルを入れておいて複数デバイスで環境を同期させたり、ファイルの復元機能もあるので万が一のときにも安心です(この復元機能を過信しすぎるのは危険ですが…)。
ただ、あくまで同期を取ってくれているだけなので、実際のファイルはMac上にもクラウド上にもある状態になっています。
そのため、大量のファイルを同期させているとその分Macの容量を取りますし、ファイル数によっては同期も重くなります。
そこで使える便利な機能が「選択型同期」です。
使わないファイルはクラウド上だけに残しておいて、Macには実際のデータが無い同期されていない状態にすることで、容量の問題を解決します。
最近は、長い間使っていないファイルをクラウド上に持って行って、使うときになったらダウンロードして使用する「スマートシンク」という機能もあります。
しかし、この逆の「MacにはDropboxフォルダ上に残しておきたいけどクラウドには上げたくない」パターンに対応する「同期の無視」という機能がいつの間にか追加されていました。
同期の無視
いままではDropboxフォルダにファイルを入れたしまうと、選択型同期にしてもスマートシンクにしてもクラウドには全てのファイルがある状態で、そこからMacに同期しますか?しませんか?という選択でした。
もし、Dropboxフォルダに本当は入れたくないんだけど、フォルダの構成上ここにおかないといけないようなファイルがある場合に使えるのが「同期の無視」です。
これを使えば、Macのローカル上には存在するけどクラウドには存在しない状態が作れます(選択型同期の逆パターン)。
同期の無視の使い方
Dropboxアプリから行う方法
公式サイトにはDropboxアプリから行えると書いていますが、自分の場合はその項目がありませんでした。
(まだベータ機能っぽいので、人やプランによって表示される・されないの差があるのかもしれません)
できない人は後述するターミナルから行う必要があります。
できる人は、Dropbox デスクトップ アプリを開いて、無視するファイルかフォルダを右クリック →[dropbox.com と同期しない]をクリックでできるようです。
自分の場合は、無視の設定は公式アプリからはできなかったのですが、ターミナルから無視に設定したファイルを公式アプリで見るとマークが灰色の状態になっていました。
また、右クリックから[dropbox.com に同期する]をクリックすることで「無視の解除」はDropboxアプリから行えました。
ターミナルから行う方法
ターミナルを開いて、下記コマンドを実行すると、それでファイルの無視に設定されます。
xattr -w com.dropbox.ignored 1 ファイルパス
無視を解除したい場合は下記のコマンドを実行します。
xattr -d com.dropbox.ignored ファイルパス
Finderから無視を解除する
1度無視に設定したファイルは、Finderからファイルを右クリックをして[dropbox.com に同期する]でも無視の解除ができました。
同期の無視自体はFinderからはできませんでしたが、同期の解除であればFinderからもできそうです。
使いどころは?
この機能を見てパッと思いついたのが「node_modules」の無視です。
自分の場合は、Macの「書類」フォルダはほとんど使わず、作業のほとんどをDropbox上のフォルダで行っています。
だから万が一Macが壊れても、新しいMacを買ってDropboxを接続すればすぐに作業が再開できるのですが、Node.jsを使ってウェブ制作をしているときに生成される「node_modules」はファイル数が多くてやっかいでした。
逆にそれ以外の使い道は思いつきませんでした。
同期の無視をするデメリット
正直、この機能を使うときは気をつけないと「同期していると思っていたけどされていなかった」トラブルにつながりそうです。
Finderからの右クリックで簡単に「同期を無視」に設定できないようにしているのは、そういう配慮なのかなと思っています。
「node_modules」を無視できるのはありがたいですが、わざわざ設定する面倒さの方が勝ってしまいます。
今後仕様が変わったり、もう少し使いやすくなる可能性もあるので、たまにどうなっているのか確認します。