Dropbox、Google Drive、Microsoft OneDrive などの大手クラウド ストレージ サービスはすべて同じ問題を抱えています。クラウド ストレージ フォルダー内のフォルダーのみを同期できます。ただし、この制限を回避する方法があります。それは、シンボリック リンクです。
シンボリック リンクは、PC 上のフォルダーを同期する場合に非常に便利です。たとえば、PC 上の特定の場所に存在する必要があるある種の構成ファイルを同期したい場合があります。
シンボリックリンク 101
Windows、Linux、Mac OS X にはすべて、 シンボリック リンクを作成する ための統合ツールが備わっています。シンボリック リンクは、他の場所のフォルダーを指す単なる「ポインター」です。コンピュータ上のプログラムは、リンクを実際のフォルダまたはファイルと同じであるかのように認識します。
たとえば、C:\Stuff 内のすべてのファイルを Dropbox と同期したいが、それらのファイルは引き続き C:\Stuff に残しておきたいとします。 Dropbox フォルダ内に C:\Stuff を指すシンボリック リンクを作成すると、Dropbox は C:\Stuff フォルダ内のすべてを同期します。
とにかくそれが理論です。実際には、多くのクラウド ストレージ サービスはシンボリック リンクで適切に動作しなくなりました。ただし、シンボリック リンクを逆に使用することはできます。この例では、C:\Stuff フォルダー全体を Dropbox フォルダーに移動します。次に、Dropbox\Stuff フォルダーを指すシンボリック リンクを C:\Stuff に作成します。 Dropbox はフォルダー内のファイルを同期し、C:\Stuff にあるフォルダーを必要とするプログラムは正常に機能します。 Windows 8.1 上の OneDrive と任意のフォルダーを同期する方法 を検討したときに、このソリューションを初めて取り上げました。
ウィンドウズ
まず、管理者としてコマンド プロンプト ウィンドウを開きます。 Windows 8 または 10 では、Windows キー + X を押して、「コマンド プロンプト (管理者)」をクリックします。 Windows 7 では、[スタート] メニューを開き、[コマンド プロンプト] を検索して、コマンド プロンプトのショートカットを右クリックし、[管理者として実行] を選択します。
コマンド プロンプト ウィンドウに次のコマンドを入力します。最初のコマンドで、「C:\Path\To\ExternalFolder」を同期するフォルダーへのパスに置き換え、「C:\Users\NAME\Dropbox」をクラウド ストレージ フォルダーへのパスに置き換えます。このコマンドは、フォルダー全体をクラウド ストレージ フォルダーに移動します。
“C:\Path\To\ExternalFolder” “C:\Users\NAME\OneDrive” を移動します
元の場所にシンボリック リンクを作成します。元の場所でフォルダーを検索するプログラムは、そこにフォルダーを見つけます。加えられた変更はすべてクラウド ストレージ フォルダーに書き込まれます。
mklink /d “C:\パス\To\外部フォルダー” “C:\ユーザー\名前\OneDrive\外部フォルダー”
Linux
Linux では、 ln -s コマンドを使用してシンボリック リンクを作成できるはずです。ファイルを移動する必要はありません。ターミナルを開き、次のコマンドを実行します。
ln -s /path/to/外部フォルダー ~/Dropbox/
個々のファイルを同期するには、フォルダーへのパスではなく、そのファイルへのパスを指定します。この方法が機能しない場合は、まず外部フォルダーをクラウド ストレージ フォルダー内に移動し、次に Windows の場合と同じように、逆の手順でシンボリック リンクを作成します。
Mac OS X
Mac でも同じコマンドを使用できます。まず、ターミナル ウィンドウを開きます。Command + Space キーを押し、Spotlight 検索ダイアログに「ターミナル」と入力して、Enter キーを押します。適切なパスを入力して、次のコマンドを実行します。
ln -s “/パス/to/外部フォルダー” “/ユーザー/名前/Dropbox/外部フォルダー”
Google ドライブは上記のコマンドで作成されたシンボリック リンクを受け入れませんが、他のサービスは受け入れます。これを Google ドライブで機能させるには、同期するフォルダーをクラウド ストレージ フォルダー内に移動し、逆の手順でシンボリック リンクを作成します。
mv “/path/to/ExternalFolder” “/Users/name/Google Drive/”
ln -s “/ユーザー/名前/Google ドライブ/外部フォルダー” “/パス/への/外部フォルダー”
外部フォルダーを同期する
このトリックを使用して、クラウド ストレージ フォルダーの外部にあるフォルダーを同期することもできます。たとえば、C:\Stuff ディレクトリがあるとします。クラウド ストレージ フォルダーに移動したので、Dropbox フォルダーの「Stuff」およびウェブ上でアクセスできるようになります。複数の PC に Dropbox をセットアップしている場合、Stuff フォルダは Dropbox フォルダ内にあります。各コンピュータで同じシンボリック リンクを作成すると、C:\Stuff フォルダの内容がすべての PC で同じように表示されます。
一部のサードパーティ プログラムは、これらのサービスのシンボリック リンクの作成を支援しますが、オペレーティング システムに含まれるツールを使用してすべて行うことができます。 私たちは、できる限りそのようなサードパーティ ユーティリティを推奨することは好みません 。
もちろん、プログラムによっては、任意のフォルダーをクラウドに同期できるものもあります。 SpiderOak を使用すると、 完全に暗号化されている ため、そこに保存されているものを見ることさえできなくなり、たとえばシンボリック リンクをいじることなく、PC 上の任意のフォルダーを選択して同期できます。





