Rsync è una utility standard del mondo unix per sincronizzare tra loro due cartelle, sia in locale che in remoto (ad esempio via SSH). Rsync effettua una copia incrementale: se lancio una seconda volta il comando di sincronizzazione, rsync invierà solo i file che risultano modificati rispetto alla sincronizzazione precedente. Questo lo rende ottimo per fare copie di backup di cartelle di lavoro: io lo uso per tenere su una chiavetta USB la cartella contenente i miei lavori per l’università (una copia in più non fa mai male!).
Per usarlo su Mac Os X, bisogna però tenere conto di un paio di cosette che ho scoperto dopo noiose ricerche e quindi pubblico a beneficio dei miei 2 lettori:
1) Rsync è compreso nell’installazione standard di Mac Os X Snow Leopard (eh, lo so, ma il mio processore non è supportato da Lion quindi non ho informazioni più fresche); sfortunatamente è una versione giurassica. Si può risolvere aggiornando con MacPorts: supponendo che lo abbiate installato basta lanciare un comando:
sudo port install rsync
Una volta installato, però, non andrà a sovrascrivere la versione di rsync di default. Dovete quindi eseguirla andando a inserire il path completo in cui risulta installata la nuova versione:
/opt/local/bin/rsync
Per verificare la versione effettiva potete usare l’opzione –version
/opt/local/bin/rsync --version
2) Se volete essere sicuri di poter leggere i vostri backup con qualunque sistema operativo (cosa senz’altro desiderabile) conviene utilizzare una normalissima chiavetta usb formattata in FAT32. Questo però nasconde un’insidia: FAT32 gestisce le date a intervalli di 2 secondi.. se considerate che rsync va a vedere la data di modifica di un file per capire se copiarlo o meno, capirete che in assenza di provvedimenti ogni volta il backup sarà di TUTTI i file.. scomodo.. per rimediare si usa l’opzione
--modify-window=1
che lascia un margine di un secondo sulla valutazione del tempo di ultima modifica del file..
Concludendo, questa è la riga che uso per fare un backup dei miei dati (da una cartella /Users/mario/Documents/roba_di_scuola/ a una chiavetta con nome di partizione BACKUPPO); è un’unica riga, io l’ho separata per renderla più leggibile!
/opt/local/bin/rsync -aEv --modify-window=1 --progress /Users/mario/Documents/roba_di_scuola/ /Volumes/BACKUPPO/roba_di_scuola/
Spero che vi possa essere d’aiuto, saluti a tutti!