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-srcviene 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.txte b.txtvengono eliminati anche in remoto, ma d.txte README.txtvengono 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 Ae una public_htmldirectory 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 Aalla public_htmldirectory, 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?
rsyncquanto non c'è modo di sapere quali file fossero già nella cartella remota. Potrebbe essere necessario scoprire un altro strumento.