.

NEOBUX

classifiche

MAC TIGER: BACKUP CON APPLESCRIPT

Applescript

BACKUP INCREMENTALE
CON RSYNC E APPLESCRIPT

Tiger mette a disposizione un potente strumento di backup accessibile dal Terminale Darwin: rsync. Utilizzando alcune opzioni di questo programma a linea di comando è possibile effettuare un backup di tipo incrementale dei propri dati, cioè copiare su un disco esterno soltanto quei dati che ancora non sono stati trasferiti o che nel frattempo sono stati modificati. In questo tutorial si vedrà anche come mantenere un duplicato di un disco o di una cartella e come creare un Applescript per utilizzare il comando direttamente dal Finder, senza avere più nulla a che fare con il potente ma temuto Terminale.

Per prima cosa dobbiamo conoscere il percorso completo del nostro disco di backup (flash, usb o firewire): connettere il disco, aspettare che venga visualizzato sulla scrivania e aprire Terminale (da Applicazioni/Utility).
Dalla linea di comando digitare:

ls /Volumes
(invio!)

Nell'elenco che viene presentato individuare il nome del nostro disco esterno, che dovrebbe corrispondere al nome visualizzato sulla scrivania. Supponendo che il disco si chiami ARCHIVIO, il percorso completo sarà /Volumes/ARCHIVIO.
Volendo eseguire al volo un backup di tutta la nostra 'casetta' (cartelle utente) direttamente dal Terminale sarà sufficiente digitare:

rsync -aE ~ /Volumes/ARCHIVIO/Backup

L'opzione -aE dice a rsync di copiare nella cartella di destinazione (/Volumes/ARCHIVIO/Backup che se non esiste viene creata) tutti i file che sono stati modificati nella cartella sorgente o nelle sue sottocartelle (~ è l'abbreviazione unix per la nostra 'casetta'; il carattere ~ , detto tilde, si ottiene premendo ALT + 5) ma anche tutti i file che non sono ancora presenti nella cartella di destinazione (/Volumes/ARCHIVIO/Backup). I file che sono identici in entrambe le cartelle vengono ignorati.

Supponiamo ora di avere una cartella di lavorazione in cui ci sono molti file temporanei. Ogni volta che eseguiamo un backup ci interessa mantenere un duplicato esatto di questa cartella. Un'altra opzione di rsync ci viene in aiuto:

rsync -aE --delete ~/Documents /Volumes/ARCHIVIO/Backup

L'opzione --delete dice a rsync di cancellare i file nella cartella di destinazione (/Volumes/ARCHIVIO/Backup) che non sono presenti nella cartella sorgente (in questo caso ~/Documents, la nostra cartella Documenti del Finder). N.B.: fate molta attenzione ad usare --delete perché se per esempio avete cancellato dei file preziosi da una cartella solo per fare spazio, con questa opzione rsync li cancellerà anche dal disco di buckup!!!
Digitando "man rsync" (senza virgolette) dal terminale si ottiene una lista di tutte le opzioni disponibili. Tra queste sono interessanti --progress (per tracciare quello che sta succedendo) e >> (per scrivere gli eventi di --progress in un file di log).

Una volta decisa la propria strategia di backup possiamo creare un Applescript che ci permetta di usare rsync direttamente dal Finder.
Aprire lo Script Editor (Applicazioni/AppleScript), e digitare (più o meno) il seguente codice:

Ricordate di mettere i vostri personali percorsi a cartelle e dischi, e salvate in formato script con estensione .scpt nella cartella casetta/Libreria/Scripts (se non la avete, createla). A voi la scelta del nome dello script...
L'opzione "|| echo -n" serve ad ignorare eventuali errori del comando do shell script associato a rsync... se i vostri dischi e cartelle di destinazione non hanno spazi o caratteri proibiti tra parole, non preoccupatevi. Viceversa esiste il modo di aggirare il problema con un po' di codice in più:

Se ora lanciate lo script dall'editor (Esegui) verrà eseguito il backup. Per avere lo script a portata di Finder aprire Utility AppleScript (da Applicazioni/AppleScript) e selezionare 'Mostra il menu Script nella barra dei Menu':

Complimenti! Ora lo script è pronto per essere lanciato quando volete, potete chiudere tutto e dimenticarvi ogni cosa... ;-)

Una volta eseguito il backup possiamo aprire il file di log per vedere i particolari di cosa è stato copiato da rsync:

E se volessimo fare automaticamente il backup dei nostri preziosi dati ogni venerdì sera a mezzanotte? Niente di più facile con gli avvisi periodici di iCal:

Il venerdì sera ricordatevi di lasciare il mac acceso, con il disco esterno montato e iCal in esecuzione...


Grazie ad AMEBA per la guida

Nessun commento:

Posta un commento