rsync guida veloce

Rsync è una comoda utility per effettuare backup incrementali. È una valida alternativa al comando cp e al normale Copia/Incolla effettuato da interfaccia grafica. Ciò che rende rsync estremamente potente e comodo sono diverse funzionalità che non sono presenti nel normale processo di backup tramite copia/incolla.

digitando da terminale il comando

rsync -h

possiamo vedere tutte le opzioni che possiamo usare con questo tool.

ed eventualmente possiamo “studiarne” un po il funzionamento leggendo il suo manuale, con il comando

man rsync

Trovo particolarmente interessati le opzioni -a, –delete, -P.

  • l’opzione -a crea un “archivio” ovvero effettua un backup ricorsivo (copiando quindi anche le relative sottocartelle) mantenendo anche alcune informazioni del file stesso, come ad esempio, i permessi, il proprietario, l’ultima data di modifica, e altro.
  • l’opzione -delete, elimina nella cartella destinataria (quindi il supporto in cui volgiamo effettuare il backup), tutti i file e le cartelle che non sono più presenti nel percorso sorgente. Ad esempio questa opzione torna utile quando nel nostro PC abbiamo spostato alcuni file da una cartella ad un’altra, in questo modo, con questa opzione, rsync automaticamente andrà ad eliminare nel dispositivo di backup, i file/cartelle dal vecchio percorso, evitando di mantenere doppioni situati in cartelle differenti
  • l’opzione -P, mostra semplicemente l’avanzamento del backup

Esempi

Vediamo alcuni esempi:

Copia di un file

rsync file1 file2

Con questo comando copieremo il “file1” in un nuovo file chiamato “file2”

Copia ricorsiva di una cartella (1)

rsync -r cartella1 cartella2

In questo modo tutto ciò che è presente dentro alla “cartella1” viene copiato dentro a “cartella2”, in modo ricorsivo (quindi anche tutte le sottocartelle, con relativi file)

Copia ricorsiva di una cartella (2)

rsync -a cartella1 cartella2

Come abbiamo visto, l’opzione -a, non si limita solo ad effettuare una copia ricorsiva, ma mantiene anche diverse proprietà di file e cartelle

Copia con eliminazione di file/cartelle

rsync -a --delete cartella1 cartella2

Per studiare meglio questo comando, vi faccio vedere il contenuto di queste 2 cartelle prima e dopo del backup.

rsync
contenuto prima dell’esecuzione del comando

Come vedete prima di eseguire il comando, all’interno della “cartella1” abbiamo un file chiamato “file1”, mentre nella “cartella2” abbiamo una cartella (lo possiamo vedere in quanto il nome è colorato) chiamata “subdir”.

Ora eseguendo rsync con l’opzione –delete, ci aspettiamo che la cartella “subdir” venga eliminata in quanto nella cartella sorgente (“cartella1”) questa sottocartella non è presente.

Eseguiamo quindi il comando, ed ecco il risultato.

rsync
contenuto cartelle dopo aver eseguito rsync

Come ci aspettavamo, nella “cartella2”, la cartella “subdir” non è più presente, mentre il file “file1” è stato copiato correttamente.

Interfaccia grafica

Rsync non è dotato di interfaccia grafica, però ci sono software che sfruttano rsync, dotati di interfaccia grafica. Tra questi ho trovato grsync ovvero una GUI in GTK per rsync.

 

Questo è solo l’inizio, andando a leggere il manuale di rsync potete trovare tante altre opzioni utili. Magari in futuro vedremo come effettuare un backup attraverso la rete, tramite un server ssh.