
私は Ubuntu マシンを 2 台持っています。ラップトップとデスクトップです。両方のマシンのパス「path1」と「path2」にフォルダを作成したいと考えています。同じローカル エリア ネットワーク (デスクトップはイーサネット経由、ラップトップは WLAN 経由) に接続されているときはいつでも、2 つのフォルダ間で同期を設定したいと考えています。たとえば、ファイル path1/x を作成すると、path2 にも path2/x として表示されます。
これを実行する方法はありますか? [削除同期が機能せず、両方のディレクトリから同時にファイルを手動で削除する必要がある場合でも問題ありません]
答え1
[これを行う良い方法を見つけたので、自分の質問に答えます]
unison
ペンシルバニア大学の Benjamin Pierce が開発したツールを使用します。
2つのディレクトリがあると仮定します。
/home/user/Documents/dirA/
そして/home/user/Documents/dirB/
これら 2 つを同期するには、以下を使用します。
~$unison -ui text /home/user/Documents/dirA/ /home/user/Documents/dirB/
出力では、unison
すべてのディレクトリとファイルが表示されます。違う同期を要求した2つのディレクトリで、最初の実行時に追加同期(両方の場所で不足しているファイルを複製)を推奨し、次にマシン上に同期ツリーを作成して維持し、その後の実行では真の同期を実装します(つまり、からファイルを削除すると.../dirA
、からも削除されます).../dirB
。また、すべての変更を比較し、必要に応じてフォワードまたは逆行する2 つのディレクトリ間で同期します。
オプションとして、グラフィカル インターフェイスを起動するには、-ui text
コマンドからオプションを削除するだけですが、その方がcli
シンプルで高速に使用できると思います。
詳細は以下をご覧ください。GitHub 上の Unison ドキュメント。
答え2
このチュートリアルをご覧くださいrsyncを使用してフォルダを同期する方法。
乾杯