Cos'è l'unisono?
La tecnologia Unison sviluppata da Benjamin C Pierce con la licenza GPL consente agli utenti di sincronizzare due istanze di file singolo sullo stesso sistema ma diversi dischi o altri due sistemi.
Unison ti consente di mantenere una versione aggiornata e identica dello stesso file o directory. È utilizzabile in un'ampia varietà di contesti, come SSH, che consente un trasferimento sicuro di dati tra dispositivi o directory.
Lo strumento Unison è multipiattaforma, consentendo agli utenti di sincronizzare file e directory tra sistemi che eseguono lo stesso o diversi sistemi operativi. Ad esempio, è possibile sincronizzare i file da un sistema Linux a un sistema BSD. A causa delle sue caratteristiche di sicurezza, Unison sincronizza i file e le directory e applica i diritti di proprietà e autorizzazioni su entrambi i sistemi.
Lo strumento Unison è sviluppato pensando alla sicurezza e può sopravvivere a fallimenti in cui si verificano interruzioni tra i punti di sincronizzazione. Se Unison rileva i conflitti di file e directory, riporta i conflitti esistenti e consente agli utenti di selezionare quale versione dei file dovrebbe essere applicata.
L'unisono può funzionare con le reti di supporto di supporto, rendendolo uno strumento molto efficiente per l'uso della larghezza di banda. Sincronizza solo parti e directory che sono cambiate, impedendo così un carico pesante e aggiornando il processo di sincronizzazione molto facilmente e rapidamente.
Nonostante il suo contesto di utilizzo primario, Unison è uno strumento potente che può essere modificato per creare una vasta gamma di casi d'uso.
Questo tutorial discuterà come installare e configurare il sistema di sincronizzazione dei file unison su Debian 10.
Come installare unison su Debian 10
Unison è uno strumento popolare; Per questo motivo, è disponibile nei repository ufficiali delle principali distribuzioni Linux.
Per installare la versione di comando dell'unisono su Debian, inizia ad aggiornare il sistema:
aggiornamento sudo apt-get && sudo apt-get upgrade
Quindi, utilizzare il semplice APT per comandare per installare lo strumento.
sudo apt -get install unison -y
Se hai un ambiente desktop installato sul tuo sistema e preferisci una versione GUI dello strumento, installa Unison-GTK utilizzando il comando:
sudo apt-get installa unison-gtk
NOTA: Assicurati di installare unison su entrambe le versioni dei sistemi che desideri sincronizzare i file tra di essi. Per la compatibilità e per ridurre al minimo le possibilità di errori, è meglio avere la stessa versione dell'unisono in entrambi i sistemi.
Come sincronizzare i file con unison
Unison ci fornisce modi per sincronizzare file e directory tra macchine locali e macchine remote utilizzando connessioni a socket dirette e SSH. Dal momento che stiamo sincronizzando tra due server Debian, salteremo la sincronizzazione della macchina locale.
Sincronizzazione remota e remota unison tramite SSH
Per sincronizzare i file e le directory tra macchine remote, dovrai installare unison in entrambi i sistemi, avere accesso SSH sia ai sistemi che ai loro indirizzi IP.
Puoi anche utilizzare la macchina locale come un server e il dispositivo remoto come altro server.
Il primo passo è creare una chiave privata e pubblica sul server remoto1.
SSH -Keygen -t RSA
Generazione della coppia di chiavi RSA pubblica/privata.
Immettere il file in cui salvare la chiave (/home/csalem/.SSH/ID_RSA):
Directory creata '/home/csalem/.ssh '.
Immettere passphrase (vuoto per nessuna passphrase):
Immettere di nuovo la stessa passphrase:
La tua identificazione è stata salvata in/Home/CSalem/.SSH/ID_RSA.
La tua chiave pubblica è stata salvata in/Home/CSalem/.SSH/ID_RSA.pub.
L'impronta digitale chiave è:
Sha256: 4p5yuebea5lrinzqpgwhrvhss0tnliil70a0q2mfcs8 csalem@debian-pc
L'immagine artistica casuale della chiave è:
+---[RSA 2048]----+
|+/@=… |
| =*O == |
| ++ OE . |
|+*o ... |
| o+= . S |
|++. o . |
| oo ... o |
|.o . = . |
| ... o o |
+----[Sha256]-----+
Salta rapidamente il processo di generazione della chiave e salva il file. Si prega di non aggiungere una passphrase perché può ostacolare la sincronizzazione non monitorata tra i server.
Quindi, copiare la chiave da Server1 a Server2 utilizzando il comando:
SSH-Copy-ID 192.168.0.201
Ora che hai configurazione SSH su entrambi i sistemi, puoi iniziare a sincronizzare file e directory.
Proviamo l'uso dell'unisono su entrambi i server creando la directory che sincronizzeremo su Server1:
mkdir -p /dir1
Su server2, crea una directory come sopra
mkdir -p /dir2
Come accennato, Unison rispetta le autorizzazioni dell'utente. Pertanto, è meglio modificare le autorizzazioni e la proprietà in entrambe le directory per garantire che entrambe le directory abbiano i privilegi di lettura e scrittura.
Quindi, aggiungi tutti i dati che si desidera sincronizzare tra i server in DIR1. Ad esempio, aggiungi alcuni file zip.
sudo mv ~/documenti.zip /dir1
Avendo i file, vogliamo sincronizzare nella directory giusta, eseguire un comando Unison per sincronizzare dal server uno come:
Unison/dir1 ssh: // 192.168.0.201 // DIR2
Al primo lancio di Unison, riceverai un avvertimento che il processo di sincronizzazione può richiedere un po 'di tempo. Se hai file di grandi dimensioni nelle directory, questo può richiedere un po 'di tempo, ma poiché lo stiamo utilizzando solo per scopi di test, dovrebbe essere relativamente veloce.
Premere Invio per avviare il processo di sincronizzazione. Una volta completato il processo di sincronizzazione, vai su Server2, vai su dir2 ed elenca il contenuto della directory come:
cd /dir2 && ls -la
-RW-R-R-- 1 radice 436 5 gennaio 12:57 Documenti.cerniera lampo
Modifica della configurazione unison
Nella maggior parte dei casi, non vogliamo sincronizzare in modo interattivo i file tra questi server poiché il processo è ripetitivo e inefficiente. Possiamo modificare il file di configurazione Unison per consentire i file di sincronizzazione automatica.
Utilizzare il comando seguente per modificare il file di configurazione predefinito:
sudo vi ~/.Unison/Default.prf
Nel file, aggiungi le seguenti righe:
auto = true
batch = true
Le righe di cui sopra le richieste durante la sincronizzazione dei file, automatizzando il processo.
Impostazione di unison Cronjob
Una cosa sicura è che i programmatori sono molto contrari a fare le cose manualmente, specialmente quando è possibile automatizzare, il che è il caso qui. Possiamo impostare un cronjob affinché l'unisono esegui la sincronizzazione automatica.
In Server1, crea un semplice script bash per eseguire il comando Unison come:
sudo touch/usr/bin/unisoncron && sudo vi/usr/bin/unisoncron
Nel file, inizia con uno shebang e aggiungi il comando sincronizzato:
#!/bin/bash/
Unison/dir1 ssh: // 192.168.0.201 // DIR2
Come al solito, eseguire le autorizzazioni di eseguire lo script:
sudo chmod 755/usr/bin/unisoncron
Ora modifica il tuo file cronjob con crontab:
sudo crontab -e
Se questa è la prima volta che modifica Crtab-, spero che non sia il tuo editor e inserisci la seguente riga per sincronizzare con unison ogni 1 ora:
*/60 * * * */usr/bin/unisoncron &>/dev/null
Puoi anche impostare Crrontab per funzionare in un orario specifico della giornata. Inoltre non è necessario utilizzare uno script e puoi utilizzare un comando grezzo nel crontab.
Conclusione
Questo tutorial ha mostrato come installare e impostare unison su un sistema Debian per la sincronizzazione di file e directory.
Sebbene questa guida rapida possa aiutarti a iniziare, puoi saperne di più utilizzando le pagine dell'UNISON (pagine manuali) o la documentazione ufficiale utilizzando la risorsa fornita di seguito: