Rsync è uno strumento potente e versatile per il trasferimento incrementale di file e directory tra due posizioni, potendo essere utilizzato sia localmente che su rete. Uno dei suoi impieghi può essere il mirroring di un intero sito Web.
Ma è importante sottolineare che Rsync non è strumento ideale per fare il mirroring di un sito web, perché è progettato per lavorare con file system, non con HTTP o altri protocolli web. Può essere utilizzato se hai accesso SSH (Secure Shell) o simili al server web, altrimenti potresti avere bisogno di strumenti differenti come `wget` o `httrack` che sono specificatamente progettati per scaricare contenuti web.1
Supponendo che tu abbia accesso al server web e che il server web supporti rsync, di seguito sono riportati i passaggi chiave per eseguire il mirroring di un sito web usando rsync:
1. Installazione di rsync: Su un sistema operativo Unix-like, rsync può essere installato dal gestore pacchetti.2 Ad esempio, su un sistema Debian o Ubuntu, puoi usare `sudo apt-get install rsync`. Su un sistema con FreeBSD, puoi utilizzare `pkg install rsync`.
1. Identificazione del percorso dei file del tuo sito web: Devi identificare il percorso assoluto della directory che contiene i file del tuo sito web sul server web. Ad esempio, potrebbe essere qualcosa come `/var/www/miosito`.
1. Esecuzione del comando rsync: Puoi ora eseguire il comando rsync per sincronizzare i file dal server remoto al tuo computer locale. Ad esempio, potresti eseguire un comando simile a questo:
```
rsync -avz -e ssh utente@server:/var/www/miosito /cartella/locale
```
Nel comando di cui sopra, `-a` significa “modalità di archivio” (mantiene i permessi, i timestamp, i link simbolici e altre informazioni), `-v` significa “verbose” (mostra informazioni dettagliate su cosa sta facendo rsync), `-z` significa “compressione” (comprime i dati durante il trasferimento per risparmiare la larghezza di banda) e `-e ssh` significa “usare SSH” come protocollo per la connessione al server remoto.2
Questo comando sincronizzerà la directory `/var/www/miosito` sul server remoto con `/cartella/locale` sul tuo computer locale.3
Riferimenti:
1: Sitepoint. (2009). Mirror a Site with Wget. https://www.sitepoint.com/mirror-site-wget/
2: The Geek Stuff. (2011). 15 Practical Linux Rsync Examples. https://www.thegeekstuff.com/2010/09/rsync-command-examples/
3: nixCraft. (2017). Linux / Unix rsync: Delete Source File After Transfer. https://www.cyberciti.biz/faq/linux-unix-bsd-rsync-delete-file-after-transfer/