こんにちは。ナナオです。
先日Syncthingについておススメする記事を書いたのですが、よくあることとして共有フォルダを設定した後でパスを変更したいケースがあります。
どのように対処すればよいか、備忘録として記録しておきます。
共有フォルダの移動方法
結論として、公式では以下のように記載されています。
**Syncthingにはこれを直接行う方法がありません。**注意を怠ると危険を伴うためです。移動中に問題が発生し、他のデバイスに同期されるとデータ損失につながる可能性があります。 ローカルシステム上で同期フォルダをリネームまたは移動する簡単な方法は、Syncthing UIでフォルダを削除し、ディスク上で移動した後、新しいパスで再追加することです。 この操作は、フォルダが既にデバイス間で同期されている状態で行うことが重要です。そうしないと、移動後にどの変更が「優先されるか」が予測不能になります。他のデバイスで行われた変更が上書きされる可能性や、ローカルで行った変更が他のデバイスからの変更で上書きされる可能性があります。 別の方法として、Syncthingを停止し、ディスク上でフォルダ(.stfolderマーカーを含む)を移動した後、設定フォルダ内のconfig.xmlでパスを直接編集し(Syncthingの設定を参照)、Syncthingを再起動する方法があります。
ということで、UI上で一度フォルダを削除する必要があるようです。
やっていきましょう。
まず移動したいフォルダの編集を押します。
除去とはいを押します。
すると一覧からフォルダが消えます。
ただソースの実態は残っているので、別で削除しましょう。
削除したら新たにフォルダを設定します。
設定方法は昨日書いた記事で書いています。
除去されていないデバイスで一度共有設定を切って、再度共有します。
すると、先ほどフォルダを除去したデバイスで新規フォルダーとして検知されます。
これを新しいパスで保存して終わりです。
感想
やろうと思えばできるけど、ちょっと面倒なので最初からフォルダパスは慎重に決めるのがいいですね。。