Sincroniziamo le cartelle con rsync

Sincroniziamo le cartelle con rsync

Sia sul mac che su linux esiste un programma, da usare da terminale, per sincronizzare e fare backup che si chiama rsync.

Ovviamente non è l'unico per fare questa operazione, ma ormai sono abituato a usarlo, sia perchè è veloce, sia perchè fa esattamente quello che gli dico.

E a dire il vero esistono varie interfacce grafiche, ma penso che il terminale sia la cosa migliore.

In questo articolo mi occupo della sincronizzazione di due cartelle, facendo in modo che la cartella B sia identica alla A.

Le operazioni che vengono compiute sono:

  • vengono copiati i nuovi files di A in B;
  • vengono cancellati in files che stanno in B ma non più in A;
  • vengono sovrascrutti i files modificati.

Così facendo vi ritrovete con due cartelle identiche e senza ridondanze.

Non è un metodo da utilizzare per grossi backup amministrativi nei quali si vogliono tenere vecchie versioni dei file, ma va più che bene per backup casalinghi.

Comunque in questo caso il comando da dare è rsync -av --progress --delete /A/ /B

Andiamo a vedere nello specifico che fanno le varie opzioni:

  • a sta per "archive mode", e comprende molte altre funzioni, di cui le più importanti sono
    • r che sta per "recursive", cioè controllo tutte le sotto directory;
    • t che preserva il tempo;
    • o che preserva l'owner;
  • v sta per "verbose", che incrementa la verbosity, cioè le informazioni sul risultato dell'operazione;
  • --progress ci permette di vedere la progressione dell'operazione in tempo reale;
  • --delete che elimina i files che non ci stanno nella cartella principale (A).

Poi devono essere messi i percorsi delle cartelle da copiare (la A), e la destinazione (la B), stando attenti a chiudere il percorso di A con /.

Finito.

A questo punto potete decidere se lanciarlo ogni volta a mano o automatizzarlo.

E per questo esistono vari modi, come ad esempio creare uno script da mettere nella home o in /sbin; oppure usare cron.

Io ho aggiunto una voce nel mio .bash_profile e lo trovo il modo più comodo.




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2626 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy