Sincronizzare cartelle tra vari sistemi operativi e dispositivi…
Se si utilizzano più computer, probabilmente vorrebbe utilizzare, oppure, si sta già utilizzando un servizio di sincronizzazione per gestire i file su macchine diverse. Una delle opzioni di sincronizzazione più popolari è quello di fare uso di servizi di “storage online”, i famosi servizi Cloud di cui abbiamo parlato in precedenti articoli, come Dropbox, Google Drive e OneDrive, con i quali è possibile trasferire i file da un PC ad un altro. Uno svantaggio di questi servizi è che una copia dei file risiederà per forza di cose sul server del fornitore del servizio.
Un altro metodo per fare tale operazione è quello di utilizzare la tecnologia P2P, come BitTorrent Sync e sincronizzare i file direttamente tra computer.
Il problema da affrontare quando si lavora con i dispositivi digitali, che siano PC o Smartphones, sono le copie di sicurezza! Si cerca di trovare la soluzione ottimale a tale problema e oggi scopriremo insieme un nuovo software multi piattaforma che si chiama SyncThing. Il programma si basa su una interfaccia di gestione web-based e il trasferimento files tipico del Peer-to-Peer.
Syncthing è un ibrido tra Dropbox e BitTorrent Sync; esso permette di sincronizzare i file direttamente tra computer senza che ci sia di mezzo alcun server esterno; inoltre è open-source, e chiunque può controllare il codice per qualsiasi problema di sicurezza o addirittura per creare la propria app.
Syncthing supporta Windows, Mac, Linux, BSD e Solaris. Anche se si stanno utilizzando differenti sistemi operativi sui vari computer, sarà possibile sincronizzare i file da un computer a un altro.
Per iniziare
Vediamo come fare ad implementare in modo veloce e semplice questa soluzione all’interno della nostra attività lavorativa e/o casalinga.
Prima di tutto dobbiamo provvedere a scaricare la versione del software adatta per il nostro computer. Il sito di riferimento per scaricare il software è www.syncthing.net. Scorrendo verso il basso troviamo il link per procedere al download del software. Come è possibile vedere dalla pagina github troviamo le versioni per MacOSx, FreeBSD, Linux 32 e 64 bit, Linux Arm, Solaris e Windows 32 e 64bit.
Scarichiamo quella che corrisponde alla nostra architettura. Una volta ottenuto il file compresso .tar.gz andremo ad operare da terminale, per scompattare, daremo il comando:
tar zxvf nomedelfile.tar.gz -C /opt/
A questo punto ci ritroveremo una cartella contenente tutto il software necessario, pochi mega (meno di 10) per un software molto interessante. Entriamo nella cartella di Syncthing ed eseguiamolo:
cd /opt/syncthing-linux-<nostra-versione> ./syncthing
Si aprirà in automatico il browser predefinito sulla pagina di gestione 127.0.0.1:8080. Da qui potremmo vedere sulla barra in alto, oltre al nome del software, il menu Edit per l’aggiunta di nodi (le altre macchine in rete) e di repositories (le cartelle da sincronizzare), la configurazione del nodo, l’id del nodo e due comandi semplicissimi per riavviare il software di sincronizzazione o fermarlo totalmente. Nel resto della pagina sulla sinistra si vedranno le condivisioni da sincronizzare e sulla destra l’elenco dei nodi e dello status (in attesa, in sincronizzazione, ecc. ecc.).
Un piccolo consiglio e’ quello di entrare nel menu EDIT / Settings per configurare alcuni aspetti del programma; prima di tutto impostate il GUI LISTEN ADDRESSES su 0.0.0.0:8080 per potervi accedere da qualunque postazione della rete, dopo di che’ per aumentarne la sicurezza è possibile inserire anche un nome utente ed una password.
Sempre nel menu EDIT troviamo la voce Show ID che altro non è che una stringa lunghissima di caratteri alfanumerici che identificano la nostra installazione in rete. Facciamo un bel copia incolla di questo codice che ci servirà per configurare le altre macchine in rete.
Se la soluzione vi e’ piaciuto potremo provvedere a rendere avviabile il servizio automaticamente all’accensione del PC. In Windows basterà creare un collegamento in Esecuzione Automatica del menu di avvio, mentre in Linux basterà aggiungere una riga di comando nel file /etc/rc.local (sono necessari i permessi di root. Quindi usare il comando sudo gedit /etc/rc.local per editare il file). La riga da aggiungere è:
su -l nome-utente -c “/percorso-di-syncthing/syncthing &”
Se presente la riga con scritto exit 0, eliminarla o commentarla anteponendoci un #
Vantaggi di Syncthing
Privacy: Tutti i vostri file risiedono sul vostro computer. Non c’è alcun server intermedio su cui i tuoi dati vengono copiati.
Crittografia: Tutta la comunicazione è assicurata tramite TLS.
Autenticazione: Ogni nodo è identificato da un valido certificato di crittografia. Solo i nodi che si sono esplicitamente autorizzati possono connettersi al cluster.
Open-source: Chiunque può esaminare il codice e risolvere qualsiasi problema di bug o di sicurezza.
L’altra cosa buona di Syncthing è che non devi preoccuparti dello spazio di archiviazione. La maggior parte dei fornitori di “storage online” si limitano a una quantità fissa di spazio di archiviazione. Per Syncthing, sei limitato solo dallo spazio di archiviazione del tuo PC !