Installare RSYNC

Guida passo dopo passo per l'installazione e la configurazione di Remote Synchronization (RSYNC) per la sincronizzazione dei dati.

rsync (Remote Synchronization) è un'applicazione a riga di comando multipiattaforma per sincronizzare dati con un consumo minimo di larghezza di banda. È ampiamente utilizzata per backup, migrazioni e mirroring di dati tra server.

Ad esempio, rsync consente di trasferire progetti da un web hosting a un VPS, sincronizzare directory tra più server dedicati e mantenere copie aggiornate dei file all'interno dell'infrastruttura.

Installare rsync

Per installare il modulo rsync sul server, esegui i comandi corrispondenti in base al sistema operativo.

Per CentOS:

yum -y install rsync

Per Debian/Ubuntu:

sudo aptitude install rsync

I nostri prodotti e servizi

Hosting WebServizi di hosting affidabili per siti web di qualsiasi dimensione.
Ordina
VPSInfrastruttura cloud flessibile con accesso root completo.
Ordina
Server DedicatiServer dedicati per le massime prestazioni.
Ordina

Esempi di utilizzo di rsync

Sincronizzazione locale

sudo rsync -avh --delete /var/www/ /root/backup/www/

Questo comando sincronizza il contenuto della directory /var/www/ con /root/backup/www/, eliminando i file che non esistono più nella sorgente. È utile per creare un mirror di una directory.

Sincronizzazione verso un server remoto

sudo rsync -avh --delete /var/www/ root@192.168.1.50:/root/backup/www/

In questo esempio i file vengono copiati su un altro server via SSH. Per eseguire la sincronizzazione, rsync deve essere installato su entrambi i server.

Sincronizzazione da un server remoto alla macchina locale

sudo rsync -avh root@192.168.1.50:/var/www/ /root/backup/www/

Questo esempio mostra come sincronizzare dati da un server remoto alla macchina locale. È utile per trasferire file da un altro server.

Sincronizzazione via SSH con una porta non standard

sudo rsync -avh -e "ssh -p 1111" root@192.168.1.50:/var/www/ /root/backup/www/

Se il server SSH è configurato per usare una porta non standard, ad esempio la 1111, si usa il parametro -e per specificarla. Questo esempio consente di sincronizzare i file via SSH su una porta diversa.

Esclusione di directory

sudo rsync -avh --exclude='dir/' --exclude='dir/tmp/' /var/www/ /root/backup/www/

In questo esempio i file delle directory dir e dir/tmp vengono esclusi dalla sincronizzazione. È utile quando si vogliono escludere dati temporanei o non necessari dal backup.

Trasferimento di file da un server remoto (con rimozione della sorgente)

sudo rsync -avh --remove-source-files root@192.168.1.50:/var/www/ /var/www/

Questo esempio copia i file da un server remoto eliminandoli contemporaneamente dalla directory sorgente. È particolarmente utile per migrare dati da un server all'altro.

Copia di un database MySQL su un altro disco

sudo rsync -vrplogDtH --progress /var/lib/mysql/ /newhdd/var/lib/mysql/

Questo esempio serve a copiare un intero database MySQL, inclusi la sua struttura e i suoi file. L'opzione --progress permette di monitorare l'avanzamento del trasferimento.

Parametri e flag rsync più utilizzati

  • -v — modalità verbose: mostra informazioni dettagliate sul processo di copia.
  • -r — copia ricorsiva (recursive): utilizzata per copiare directory.
  • -a — modalità archivio (archive): preserva permessi, symlink, timestamp e struttura delle directory.
  • -b — modalità backup: crea copie dei file modificati prima di sostituirli.
  • -c — verifica tramite checksum: garantisce che i dati siano stati sincronizzati correttamente.
  • --delete — elimina i file che non esistono più nella cartella sorgente.
  • -h — output leggibile (human-readable): mostra le dimensioni dei file in un formato comprensibile (ad esempio in megabyte).
  • -n — simulazione senza modifiche (dry-run): mostra cosa verrebbe eseguito senza apportare alcuna modifica.
  • -p — preservazione dei permessi (permissions): garantisce che i permessi di accesso ai file vengano mantenuti.
  • -z — compressione dei dati durante il trasferimento (compress): riduce il volume di dati trasferiti.
  • -H — preservazione degli hard link, se presenti nei dati sorgente.
  • -x — limitazione a un singolo filesystem (one-file-system).

L'elenco completo delle opzioni disponibili si trova nel manuale:

man rsync

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci