Vorrei usare rsync per ...
- eliminare i file sul lato ricevente che sono stati eliminati anche sul lato di invio
- non eliminare altri file che si trovano nella directory rsynced sul lato ricevente
Ad esempio, supponiamo che io abbia una directory local-src
:
PRIMA: local-src
contiene localmente ...
a.txt
b.txt
c.txt
local-src
viene chiamata la mia directory remota che vorrei sincronizzare con il contenuto di to remote-src
.
PRIMA: remote-src
contiene in remoto ...
a.txt
b.txt
c.txt
d.txt
README.md
Diciamo che elimino alcuni file in local-src
:
DOPO L'ELIMINAZIONE LOCALE: local-src
contiene localmente ...
c.txt
Come posso utilizzare rsync in modo da garantire che anche i file eliminati all'origine vengano eliminati nella destinazione, ma senza eliminare altri file nella destinazione. Ad esempio, vorrei avere quanto segue a destinazione:
DOPO L'ELIMINAZIONE LOCALE: remote-src
contiene in remoto ...
c.txt
d.txt
README.md
Cioè, a.txt
e b.txt
vengono eliminati anche in remoto, ma d.txt
e README.txt
vengono lasciati soli.
C'è un modo per raggiungere questo obiettivo con rsync?
EDIT: Il verdetto sembra essere che questo potrebbe essere impossibile con rsync. Mi è stato chiesto perché ne ho bisogno, quindi per illustrare il mio caso d'uso:
Diciamo che ho un web server. Su quel web server, ho un sacco di directory, diciamo che ho una directory A
e una public_html
directory da cui viene servito il mio sito. Diciamo che ho un processo automatizzato che produce file nella directory A
. Mi piacerebbe rsync (o sincronizzare con qualche altro strumento) i file generati o aggiornati in A
alla public_html
directory, senza cancellare altri file arbitrari che potrebbero essere all'interno public_html
. Non voglio certo che rsync elimini accidentalmente il mio sito web.
Se rsync non è lo strumento per questo lavoro, qualcun altro sa come posso farlo?
rsync
quanto non c'è modo di sapere quali file fossero già nella cartella remota. Potrebbe essere necessario scoprire un altro strumento.