Backup con rsync

Lun, 30/01/2012 - 12:52

Backup con rsync

Inviato da Claudio_fe11 3 commenti

Backup da terminale

Con questa piccola guida illustrerò come eseguire il backup dei nostri dati dal computer verso un dispositivo esterno come un disco USB tramite un tool da riga di comando: rsync.

Ero alla ricerca di un modo per fare il backup dei dati contenuti nella cartella sul desktop (storage_locale) che uso sia per archiviare che per consultare i file (guide, tutorial, foto, documenti e ciarpamerie varie) che, ovviamente, tende ad aumentare e ad essere modificato, quindi, a lungo andare, il semplice copia/incolla dei file nell'unità esterna diventa complicato, e si possono commettere errori. Avevo quindi bisogno di uno strumento semplice ma allo stesso tempo efficiente, così gironzolando in rete mi sono imbattuto in rsync, un tool da usare da terminale.
Sostanzialmente rsync controlla che i dati siano diversi, cioè che abbiano subito una modifica, per trasferirli dal computer al disco esterno:
ad esempio se avete un file di testo chiamato appunti_giornalieri, ogni volta che questo viene modificato rsync lo “nota” e provvederà a traferire le modifiche apportate dal file locale al corrispondente file archiviato nel disco esterno.
L’aggiornamento dei dati, in funzione delle opzioni utilizzate, può basarsi sul confronto delle date di modifica, delle dimensioni dei file ed anche sul calcolo di un codice di controllo (checksum).

Attenzione: prima di usare rsync, fate dei test con file che non vi servono più!

Bene, passiamo al dunque.

Se non presente rsync si può installare col comando:

pippo@pippo:~$ sudo apt-get install rsync

Quindi da user date il comando (adattate alla vostra situazione):

pippo@pippo:~$ rsync -avu --delete /home/pippo/Scrivania/storage_locale/ /media/discoUSB/cartella_backup/

Dove le opzioni "a", "v", "u" e "delete" stanno rispettivamente per:

"duplicazione fedele di tutte le caratteristiche originali dei dati, discendendo ricorsivamente le directory d'origine";
"modalità verbose, per ottenere più informazioni dalla shell durante il processo di backup";
"ignora i file che sono più recenti sul ricevitore".

"cancella i file nel dispositivo di destinazione che non sono piu' presenti nello storage d'origine" (Attenzione: usare all'occorrenza e con prudenza!).

rsync possiede molte altre opzioni: $ man rsync per maggiori informazioni.

Nota: Le succitate opzioni (-avu) sono le più indicate/usate per una buona procedura di backup.
Inoltre è importante che al termine del percorso d'origine sia presente la slash (/) per evitare di duplicare i dati nei succesivi backup.

Una volta dato il comando vedrete qualcosa di simile (vedrete scorrere le linee che rappresentano i file) quindi:

pippo@pippo:~$ rsync -avu /home/pippo/Scrivania/storage_locale/ /media/discoUSB/cartella_backup/
sending incremental file list
./

Bilder/
Bilder/05-10-2009_aquila_10.jpg
Bilder/05-10-2009_aquila_11.jpg
Bilder/05-10-2009_aquila_12.jpg
Bilder/05-10-2009_aquila_13.jpg
Bilder/05-10-2009_aquila_17.jpg
Bilder/05-10-2009_aquila_18.jpg
Bilder/05-10-2009_aquila_4.jpg
Bilder/05-10-2009_aquila_5.jpg
Bilder/05-10-2009_aquila_6.jpg

in caso di successo rsync restituirà:

sent 2521662540 bytes received 176182 bytes 7561735.30 bytes/sec total size is 7196624492 speedup is 2.85
pippo@pippo:~$

in caso di errori invece:

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]

dovrete scorrere la scrollbar ed individuare i file non trasferiti.

Infine per chi vuole è disponibile il front-end grafico di rsync cioè Grsync installabile da riga di comando, con Synaptic oppure dal Software Center; anche in questo caso l'uso del tool grafico è molto intuitivo, come mostrato nell'immagine sottostante.

In conclusione

rsync è uno dei tanti modi/programmi per eseguire il backup dei nostri dati con Linux/Debian, in particolare dal terminale: non resta che provare.

Grazie allo Staff che, con i suoi suggerimenti, mi ha permesso di rettificare questa guida.


Ciao, Claudio_fe11





Commenti

Ritratto di pietro
#1

Inviato da pietro il Lun, 30/01/2012 - 18:22.

Re: Backup con rsync

Se si usa l'opzione "--delete" e' possibile anche cancellare i file nello storage destinazione che non sono piu' presenti nello storage origine. Unitamente alle opzioni descritte nella guida consente di avere una copia speculare della sorgente.

Uso rsync da circa 10 anni, mai perso un bit.

Pietro

Debian. Be unique.



Ritratto di marcosan
#2

Inviato da marcosan il Lun, 30/01/2012 - 18:30.

Re: Backup con rsync

L'opzione -r e` gia` inclusa nell'opzione -a. Aggiungerei invece -uz...per info man rsync.

Comunque ottima introduzione ad rsync.

Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).



Ritratto di Claudio_fe11
#3

Inviato da Claudio_fe11 il Lun, 30/01/2012 - 21:44.

Re: Backup con rsync

Hi Pietro & marcosan,
confermo le vostre dritte per le opzioni (rsync -av --delete ...): ho appena eseguito un backup ed è andata benissimo. Smile

L'opzione -z, ho visto nel man, produce un archio compresso: benon. Cool

rsync ha veramente una vagonata di opzioni!

Se non erro rsync è ottimo anche insieme a crontab per automatizzare i backup.

Grazie per le vostre osservazioni.

Ciao, Claudio_fe11

"Scriva le equazioni sulla lavagna". Poi aggiunse,
"Per favore vada piano, non afferro le cose molto in fretta".

Albert Einstein