====== rsync ignora, a volte, il parametro --delete ====== ~~NOTOC~~ *** Ho notato che diverse volte nel tempo l’uso del parametro ``--delete`` usando il comando ``rsync`` durante l’esecuzione viene **bellamente ignorato**. Visto che sono un pignolo su certe cose, sono voluto andare a fondo della cosa. Da premettere che in effetti ``man rsync`` ha la spiegazione del motivo, ma è così nascosto che per trovarlo ci vuole davvero fortuna! ## Premessa: *** Voglio creare un backup di una cartella su un mio altro sistema che uso come disco di backup. Dato il comando: rsync -v -avuzrpL --delete /var/www/dati/* -e 'ssh -p45278' JoeVR@localNAS:BackupData/LocalServer/dati mi aspetto che quando cancello dei file da ``/var/www/dati/`` quando eseguo questo comando me lo elimini anche dalla cartella di destinazione visto la presenza del parametro ``--delete``. Invece ho notato che il file resta li: nessuna linea di notifica (visto l’uso del parametro ``-v`` per avere un log approfondito lo pretendo) di cancellazione del file cancellato dalla cartella sorgente. 😡 Alla fine girovagando per i vari forum ho trovato il problema, o per essere più precisi, il motivo del problema: per non so quale motivo, chi scrisse originalmente l’utility ``rsync`` decise che il parametro ``--delete`` avrebbe funzionato **solo in assenza di caratteri wildchar**. quindi la versione: rsync -v -avuzrpL --delete /var/www/dati/* non esegue la cancellazione, mentre rsync -v -avuzrpL --delete /var/www/dati/ si!! \\ \\ In realtà leggendo a fondo la manualistica un motivo c’è e probabilmente è legato allo sviluppo nel tempo della utility. Se volte saperne di più andate a leggere ``man rsync`` e troverete tutta una serie di varianti del parametro ``--delete``. Giusto per darvi un’idea: # # Estratto dal man rsync # --del an alias for --delete-during --delete delete extraneous files from dest dirs --delete-before receiver deletes before xfer, not during --delete-during receiver deletes during the transfer --delete-delay find deletions during, delete after --delete-after receiver deletes after transfer, not during --delete-excluded also delete excluded files from dest dirs --ignore-missing-args ignore missing source args without error --delete-missing-args delete missing source args from destination Personalmente non sono stato lì a leggermi tutte le varianti: dopo aver letto [questa pagina](https://anon.to/hlKw6L) mi sono accontentato di far funzionare il mio ``rsync --delete`` come mi serviva, ma qualcosa mi dice che sarà bene che me lo legga, a dovere tutto, per poter sfruttare maggiori funzionalità di questa utility!! *** [[tips-triks|Clicca qui]] per tornare alla pagina Trcks & Trips\\ [[start|Clicca qui]] per tornare alla pagina home del Wiki *** *** --- //[[jcurto@joe.vr.it|Joseph Curto]] 02/08/2023 10:55// --- Ultima modifica 02/08/2023 11:23