RSYNC è uno strumento di sincronizzazione di file open source estremamente flessibile e potente. Può copiare directory localmente o su un server remoto via SSH.
Per utilizzare RSYNC per copiare solo i file già esistenti nella destinazione, possiamo utilizzare l’opzione `—existing`. Secondo la pagina manuale di RSYNC, l’opzione `—existing` “ignora la creazione di nuovi file sul destinatario”. Di solito, RSYNC effettua una copia di tutti i file dal sorgente al destinatario. Tuttavia, abbinando l’opzione `—existing`, RSYNC può essere configurato per interagire solo con i file che esistono già nel destinatario.
Supponiamo per esempio che tu abbia una directory chiamata “Dir1” con i file File1.txt, File2.txt e File3.txt e un’altra directory chiamata “Dir2” con solo File1.txt e File2.txt. Se tu volessi copiare solo i file da Dir1 a Dir2 che già esistono in Dir2 — cioè, File1.txt e File2.txt — puoi eseguire il comando RSYNC seguente:
```
rsync -av —existing Dir1/ Dir2/
```
In questo caso, solo File1.txt e File2.txt saranno copiati o aggiornati in Dir2. File3.txt non sarà copiato perché non esiste già in Dir2.
La pagina manuale di RSYNC è una fonte molto utile e completa per capire come utilizzare al meglio questo potente strumento. Puoi accedervi digitando `man rsync` nel tuo terminale Linux, o visitando la versione online (https://linux.die.net/man/1/rsync).
Va sottolineato che copiare solo file “esistenti” può non essere sempre il comportamento desiderato. Se, ad esempio, tu stai cercando di creare un backup completo di una directory, potrebbe essere più appropriato utilizzare RSYNC senza l’opzione `—existing`, in modo che tutti i file, sia quelli esistenti che quelli nuovi, vengano copiati.
Devi considerare attentamente le tue esigenze specifiche e utilizzare le opzioni di RSYNC che meglio si adattano alla tua situazione. Una comprensione completa delle varie opzioni disponibili in RSYNC può aiutarti a utilizzare lo strumento in modo più efficace e efficiente.