Sommario
Estratto
Oggi sono in tanti a utilizzare ed a lavorare con più di un computer. Spesso se ne ha uno a casa, uno o più di uno al lavoro ed eventualmente anche un portatile o PDA che si utilizza durante gli spostamenti. Molti file dovranno essere disponibili su tutti quanti i computer con i quali si lavora per poterli elaborare, e chiaramente tutti i dati dovranno essere disponibili nella versione aggiornata su ogni sistema.
Nel caso di computer che compongono i singoli nodi di una rete veloce, la sincronizzazione dei dati non rappresenta un problema. Basta selezionare un file system di rete, per esempio NFS e salvare i file su un server. I vari computer accederanno in seguito tramite la rete agli stessi e identici dati depositati sul server. Questo approccio diventa improponibile nel caso di una rete molto lenta o nel caso di connessione saltuaria. Chi usa un laptop durante i suoi spostamenti necessità delle copie dei file da elaborare sul proprio disco rigido locale. Non appena però si inizia a modificare i file si presenta il problema della sincronizzazione. Se si modifica un file su un computer si deve badare assolutamente ad aggiornare la copia del file su tutti gli altri computer. Se si tratta di un fatto sporadico questo si lascia realizzare comodamente a mano con i comandi scp o rsync. Nel caso di numerosi file il tutto diventa già un po' più laborioso e richiede molta attenzione per evitare che si sovrascriva ad esempio un file nuovo con la vecchia versione.
![]() | Occhio alla perdita di dati |
|---|---|
In ogni caso bisogna sapere usare bene il programma impiegato e testare le sue funzionalità prima di amministrare i propri dati tramite un sistema di sincronizzazione. La copia di sicurezza è ed resta irrinunciabile per file importanti. | |
Per risparmiarsi queste procedure laboriose che richiedono tanto tempo prezioso e sono esposte ad errori vi è del software che seguendo approcci diversi automatizza questo processo. La seguente breve introduzione intende solamente dare all'utente un'idea del modo di funzionare di questi programmi e di come adoperarli. Prima di utilizzarli effettivamente consigliamo di leggere attentamente la documentazione relativa.
Unison non è un file system di rete. I file vengono editati e salvati in locale. Si può richiamare il programma manualmente per sincronizzare i file. La prima volta che si esegue il processo di sincronizzazione viene creata una banca dati su entrambi i sistemi coinvolti nella quale vengono memorizzate le somme di controllo, la data ed i permessi dei file selezionati. Alla prossima chiamata, unison è in grado di riconoscere i file che hanno subito delle modifiche e ne propone la trasmissione da un sistema all'altro. Solitamente potrete accettare tranquillamente le proposte di unison.
Impiegato soprattutto per l'amministrazione di varie versioni di sorgenti di programmi, CVS consente di avere delle copie dei file su diversi computer. In questo senso è adatto anche al nostro scopo. Il CVS ha un database centrale chiamato repository, che risiede sul server, ed il quale memorizza non solo i file ma anche le singole modifiche apportate ai file. Quando le modifiche eseguite in locale vengono immesse nel database, si parla di commit, le quali potranno essere scaricate dagli altri computer (update). Entrambi i processi vengono eseguiti dall'utente.
Inoltre CVS è tollerante nei confronti di errori riguardanti le modifiche effettuate da diversi computer: le modifiche vengono raccolte e solo se vi sono delle modifiche che interessano la stessa riga di un documento o file sorge un conflitto. Il database, in caso di un conflitto, resta comunque in uno stato consistente; il conflitto è visibile solo sul client e solamente da lì risolvibile.
Al contrario di CVS che è «cresciuto» con il tempo, nel caso di subversion ci troviamo di fronte ad un progetto portato avanti sin dal principio in modo consistente. subversion è stato concepito per sostituirsi a CVS.
subversion presenta una serie di migliorie rispetto al suo predecessore. CVS è in grado di amministrare solo file e «ignora» le directory. subversion invece offre uno storico anche per le directory che potranno essere copiate e rinominate alla stregua di file. Inoltre, è possibile aggiungere per ogni file e directory dei metadati relativi ad una determinata versione del file o directory. A differenza di CVS, subversion consente un accesso di rete transparente grazie a dei propri protocolli come ad esempio WebDAV (Web-based Distributed Authoring and Versioning) che estende le funzionalità del protocollo HTTP fino a permettere accessi simultanei in scrittura su file residenti su server Web remoti.
subversion è stato realizzato in prima linea ricorrendo a pacchetti di applicazioni già esistenti. Infatti subversion utilizza il server Web Apache e l'estensione WebDAV.
A differenza dei tool di sincronizzazione finora menzionati, Mailsync sincronizza solo e-mail di caselle diverse. Si può trattare sia di e-mail nella mail box locale che di mail box che risiedono su un server IMAP.
Per ogni messaggio viene deciso sulla base del message id, contenuto nell'intestazione della e-mail, se cancellarlo o sincronizzarlo. E' possibile sincronizzare sia singole mail box che gerarchie di mail box.
Se non vi occorre un'applicazione che vi permetta di controllare le singole versioni ed intendete sincronizzare vasti alberi di file tramite connessioni di rete lente, allora potete ricorrere al tool rsync. rsync dispone di meccanismi particolari che consentono di trasmettere solo le modifiche apportate ai file, siano essi file di testo oppure dei binari. Per rilevare le differenze tra i file, rsync suddivide i file in blocchi e ne calcola la somma di controllo.
Però il rilevamento delle modifiche ha il suo prezzo. rsync richiede tra l'altro tanta RAM.