Ho letto questi thread:
- rsync --delete --files-from = list / dest / non cancella i file indesiderati
- Eliminare file estranei dalla directory di destinazione tramite rsync?
Ma, per quanto posso dire (forse mi manca qualcosa), non coprono la seguente domanda:
Come si chiede rsync
di copiare file ed eliminare quelli sul lato di ricezione che non esistono sul lato di invio, con eccezioni? (ad es. non rimuovere un repository mercuriale .hg
sul lato ricevente, anche se non esiste un repository sul lato mittente).
Una possibilità?
Prendendo in prestito dalla risposta di @Richard Holloway di seguito. Di 'che ho la seguente riga:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Per quanto ho capito, questa riga farebbe rsync
cancellare tutto sul percorso di ricezione che non esiste sul percorso di invio, tranne quelle corrispondenti dont_delete_me
. La mia domanda ora è: rsync manterrebbe i file sul lato ricevente corrispondenti dont_delete_me
anche se nulla sul lato di invio corrisponde dont_delete_me
?
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
nonrsync
eliminerei tutto sul percorso di ricezione che non esiste sul percorso di invio, tranne le cose corrispondentidont_delete_me
? Ancora più importante,rsync
manterrebbero le cose sul lato ricevente abbinatedont_delete_me
anche se nulla sul lato mittente corrispondedont_delete_me
? Se è così, penso che sia l'unica linea di cui ho bisogno, giusto?