rsyncを使用して...
- 送信側でも削除された受信側のファイルを削除する
- 受信側のrsyncedディレクトリにある他のファイルを削除しない
たとえば、私がディレクトリを持っているとしましょうlocal-src:
変更前: local-srcローカルに含まれる...
a.txt
b.txt
c.txt
toのコンテンツに同期したいリモートディレクトリlocal-srcはという名前remote-srcです。
変更前: remote-srcリモートで含む...
a.txt
b.txt
c.txt
d.txt
README.md
私がいくつかのファイルを削除したとしましょうlocal-src:
ローカル削除後: local-srcローカルに含む...
c.txt
ソースで削除されたファイルが宛先でも削除されるように、ただし宛先で他のファイルを削除せずに、rsyncをどのように使用できますか?たとえば、宛先で次のようにしたいとします。
ローカル削除後: remote-srcリモートに含む...
c.txt
d.txt
README.md
つまり、a.txtおよびb.txtリモートからも削除されますが、d.txtとREADME.txt放置されています。
rsyncでこれを達成する方法はありますか?
編集:評決はこれがrsyncでは不可能かもしれないということであるようです。これが必要な理由を尋ねられたので、私のユースケースを説明します。
Webサーバーがあるとします。そのWebサーバーには、多数のディレクトリがあります。たとえば、ディレクトリAとpublic_htmlサイトの提供元のディレクトリがあるとします。ディレクトリにファイルを作成する自動化されたプロセスがあるとしますA。内にある可能性のある他の任意のファイルを削除せずに、ディレクトリに生成または更新されたファイルをrsync(または他のツールを使用して同期)したい。rsyncが誤って自分のウェブサイトを削除して欲しくないのは確かです。Apublic_htmlpublic_html
rsyncがこのジョブのツールではない場合、他の誰かが私がこれを行う方法を知っていますか?
rsyncどのファイルがすでにリモートフォルダにあるのかを知る方法がないので、これは可能ではないと思います。別のツールを見つける必要があるかもしれません。