rsyncとcygwinを使用して、Linux Webサーバーをバックアップしました。Windowsラップトップにサーバーの完全なコピーができました。ラップトップ上のファイルを削除または変更し、cygwinでrsyncを再度実行すると、サーバー上の同じファイルが削除/更新されますか?サーバーで削除/変更し、ラップトップでrsyncを実行すると、ラップトップのローカルファイルが削除/変更されますが、これは逆に機能するという印象を受けますか?
rsyncとcygwinを使用して、Linux Webサーバーをバックアップしました。Windowsラップトップにサーバーの完全なコピーができました。ラップトップ上のファイルを削除または変更し、cygwinでrsyncを再度実行すると、サーバー上の同じファイルが削除/更新されますか?サーバーで削除/変更し、ラップトップでrsyncを実行すると、ラップトップのローカルファイルが削除/変更されますが、これは逆に機能するという印象を受けますか?
回答:
Rsyncは一方向の同期を行いますが、同期の方向を決定するのはユーザー次第です。
Rsyncコマンドの構文は次のとおりです。
rsync [OPTION...] SRC... [DEST]
ソースから宛先への同期を指定することに注意してください。送信元と宛先には、任意のローカルパスまたはリモートパスを指定できます。
たとえば、サーバーからラップトップにファイルをコピーする場合は、次のようにします。
rsync [OPTION...] <server-path> <laptop-path>
反対方向に同期するには:
rsync [OPTION...] <laptop-path> <server-path>
あなたの質問に答えるために:それはあなたがrsyncを実行する方法に依存します。
宛先でファイルを削除する場合は、--delete
オプションを使用する必要があります。ただし、ソースを指定するときに間違えた場合は、宛先のすべてが削除されるため、注意してください。--delete
最初にオプションなしで同期をテストする方が安全であり、動作に満足したら--delete
オプションを追加できます。
以下のコメントでmasegaloehが示唆したように、-n
または--dry-run
オプションを使用してrsync
コマンドの動作をテストすることもできます。
-n
か--dry-run
あなたは、ファイルが削除され、修正される知っているので、
python3で記述されたラッパーツールは、タスクbsync
をラップfind
してrsync
コマンドを簡素化します。Githubリポジトリ:https : //github.com/dooblem/bsync
github上にある場合(ツールを使用するにはプログラマーである必要があると思われる方法で)怖がらないでください。
unison
。これは、両方のコピーのファイル状態を保存する同期ツールであり、双方向の同期を可能にします。cygwinパッケージもあります。