#2020/11 更新
気付いたら、DropboxのAppでファイル・フォルダの無視(同期しない設定)が正式に対応され、ページも更新されていました。
参照:Dropbox ファイルを「無視」に設定する | Dropbox ヘルプ
但し、
注:Dropbox Business ユーザーはこの機能をご利用いただけません。 Dropbox Business ユーザーは、次のコマンドラインの手順をご利用ください。
とのことなので、Dropbox Businessを利用されている皆様は、今もコマンドラインでの対策が必要のようです。
#前提と背景
環境
項 目 | 内 容 |
---|---|
やりたいこと | Dropboxで特定フォルダの同期除外 |
OS | Windows 10 Pro |
Dropbox Plan | Plusプラン |
該当ファイル数 | 500,000+ (除外前) |
経緯
これまで自身のプロジェクト関連ファイル(ソースファイル、ドキュメントファイルなど)は、Gitやバックアップソフトを使用しての外付けHDDなどにバックアップを行ってきた。
最近思い立って、どうせならDropboxの容量も2Tになった(料金も上がる)のでもっと活用しようと思い、Dopboxの同期を使用したリアルタイムバックアップを試してみることにした。
Plusプランなら、30日間の過去履歴も取られているので、その辺も安心材料。
ただし、あくまでもソースのバージョン管理はGitがメインであり、Dropboxは予期せぬ事態に備えたもの。「備えあれば憂いなし」の実践。
#Dropboxには.gitignore に相当するものは(今のところ)無い
私にとっての問題は、Dropboxには「.gitignore」に相当する無視リストの機能がなく、Dropboxフォルダ全てが同期されてしまう点だった。
これは多くのデベロッパーが使用しているだろうNode.jsの「node_modules」フォルダがソースに含まれており、ファイル数が膨大なため、同期に非常に時間がかかる。時間だけならまだしも、CPUやメモリもガッツリ使用し、作業に支障が出てしまっていた。マジ無理ってくらいに。
「選択同期」はクラウドのみファイル・フォルダを置き、ローカルから消すため、逆の機能だな、と。
上記「環境」にも書いたが、全ファイルを対象とすると50万を超えるファイルとなってしまう。
Appからも「500,000以上のファイル同期は遅くなるよ!」という警告を頂いた。
#ローカルの身にファイル・フォルダを置く方法を見つけた
ネットを探すとすぐに出てきた。試したのは、以下の2つ。結果的には2つ目を採用した。
##方法1:「選択同期型の競合」を利用する
諸兄の過去の投稿 Dropbox で特定のフォルダを無視する などを参考にし、Dropbox公式のヘルプ(選択型同期の競合)を見ながら設定してみた。
手順的にも面倒なのと、しっかりとフォルダ名に「(選択型同期の競合)」という文字列が追加された。ウケる
動作的にはできるのかな?という感じだったが、複数ある除外したいフォルダに対しての操作(コピーとか)が面倒&時間がかかるので、ちょっと私の状況では厳しい感じであった。
##方法2:Dropboxオフィシャルベータ機能「Dropbox ファイルを「無視」に設定する」を利用する
ベータ機能としてDropboxが提供しているものを発見した。
Dropbox ファイルを「無視」に設定する というものだが、記事内には、
現在この機能はベータ版で提供しており、一部の Dropbox ユーザーのみご利用いただけます。今後、他のユーザーにもご提供する予定です。
とある。「一部」って誰が該当するのだろうか。。。「早期リリース」を設定しているユーザかな?と思ったが、「早期リリース」はONにせずに試してみた。
※上記記事内には、Mac、Linuxでの指定方法もありました。
PowerShellでコマンドは以下
Set-Content -Path FILE-PATH -Stream com.dropbox.ignored -Value 1
FILE-PATH を除外したいファイル・フォルダのフルパスにして実行するだけで、同期対象から除外された。私は一部のユーザらしい。ホントかよ・・・
但し、PowerShell6では動作しなかった。(私の勉強不足です、ごめんなさい。誰か教えてください。)
#結論
Dropboxでは無視・除外リストは実装されていないが、コマンドベースでは無視に指定できるようだ。
今回は念のため、除外したフォルダのリストをTXTにして、DropboxのRootフォルダに入れておいた。今後、正式な機能として実装されたときにどういったGUIになるのかわからないが、その時までこれで凌ごうと思う。
もし、Dropboxの無視リスト関連でこのページに辿り着いた方が居た時にお役に立てれば幸いだが、これについて書かれている記事を見つけられなかったので、実は使い方間違ってるんじゃないかと不安でしょうがない。。。