Ce este Unison?
Tehnologia Unison dezvoltată de Benjamin C Pierce sub licența GPL permite utilizatorilor să sincronizeze două instanțe de un singur fișier pe același sistem, dar discuri diferite sau alte două sisteme.
Unison vă permite să păstrați o versiune actualizată și identică a aceluiași fișier sau director. Este utilizabil într-o mare varietate de contexte, cum ar fi SSH, permițând transferul sigur de date între dispozitive sau directoare.
Instrumentul Unison este multiplatformă, permițând utilizatorilor să sincronizeze fișiere și directoare între sisteme care rulează aceleași sisteme de operare sau diferite. De exemplu, puteți sincroniza fișiere dintr-un sistem Linux cu un sistem BSD. Datorită caracteristicilor sale de securitate, Unison sincronizează fișiere și directoare și aplică drepturi de proprietate și permisiuni pe ambele sisteme.
Instrumentul Unison este dezvoltat având în vedere securitatea și poate supraviețui eșecurilor în cazul în care se produc întreruperi între punctele de sincronizare. Dacă Unison detectează conflicte de fișiere și directoare, acesta raportează conflictele existente și permite utilizatorilor să selecteze ce versiune a fișierelor ar trebui să se aplice.
Unison poate funcționa cu sau acceptă rețele lente, făcându-l un instrument foarte eficient pentru utilizarea lățimii de bandă. Sincronizează doar părțile și directoarele care s-au schimbat, prevenind astfel încărcarea grea și actualizând procesul de sincronizare foarte ușor și rapid.
În ciuda contextului său principal de utilizare, Unison este un instrument puternic care poate fi modificat pentru a crea o gamă largă de cazuri de utilizare.
Acest tutorial va discuta despre modul de instalare și configurare a sistemului de sincronizare a fișierelor Unison pe Debian 10.
Cum se instalează Unison pe Debian 10
Unisonul este un instrument popular; din acest motiv, este disponibil în depozitele oficiale ale distribuțiilor majore Linux.
Pentru a instala versiunea din linia de comandă a Unison pe Debian, începeți să actualizați sistemul:
sudo apt-get update && sudo apt-get upgradeApoi, utilizați comanda apt to command pentru a instala instrumentul.
sudo apt-get install unison -yDacă aveți un mediu desktop instalat pe sistemul dvs. și preferați o versiune GUI a instrumentului, instalați unison-gtk folosind comanda:
sudo apt-get install unison-gtkNOTĂ: Asigurați-vă că instalați Unison pe ambele versiuni ale sistemelor pe care doriți să le sincronizați fișiere. Pentru compatibilitate și pentru a minimiza șansele de erori, este mai bine să aveți aceeași versiune de Unison în ambele sisteme.
Cum se sincronizează fișierele cu Unison
Unison ne oferă modalități de a sincroniza fișiere și directoare între mașini locale și mașini la distanță folosind conexiuni socket directe și SSH. Deoarece sincronizăm între două servere Debian, vom ignora sincronizarea locală a mașinii.
Unison Remote și Remote Sync via SSH
Pentru a sincroniza fișiere și directoare între mașini la distanță, va trebui să aveți Unison instalat în ambele sisteme, să aveți acces SSH atât la sisteme, cât și la adresele IP ale acestora.
De asemenea, puteți utiliza mașina locală ca un server și dispozitivul la distanță ca celălalt server.
- 192.168.0.200 - server1
- 192.168.0.201 - server2
Primul pas este crearea unei chei private și publice pe serverul de la distanță1.
ssh-keygen -t rsaGenerarea perechii de chei rsa publice / private.
Introduceți fișierul în care să salvați cheia (/ home / csalem /.ssh / id_rsa):
Director creat '/ home / csalem /.ssh '.
Introduceți expresia de acces (goală fără expresie de acces):
Introduceți din nou aceeași frază de acces:
Identificarea dvs. a fost salvată în / home / csalem /.ssh / id_rsa.
Cheia dvs. publică a fost salvată în / home / csalem /.ssh / id_rsa.pub.
Amprenta cheie este:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Imaginea de artă aleatorie a cheii este:
+---[RSA 2048]----+
| + / @ = ... |
| = * O == |
| ++ OE . |
| + * o ... |
| o + = . S |
|++. o . |
| oo ... o |
|.o . = . |
|… O o |
+----[SHA256]-----+
Treceți rapid peste procesul de generare a cheilor și salvați fișierul. Vă rugăm să nu adăugați o expresie de acces, deoarece aceasta poate împiedica sincronizarea ne-monitorizată între servere.
Apoi, copiați cheia de la server1 la server2 folosind comanda:
ssh-copy-id 192.168.0.201Acum că aveți configurare SSH pe ambele sisteme, puteți porni Unison pentru a sincroniza fișiere și directoare.
Să testăm utilizarea Unison pe ambele servere prin crearea directorului pe care îl vom sincroniza pe server1:
mkdir -p / dir1Pe server2, creați un director ca mai sus
mkdir -p / dir2După cum am menționat, Unison respectă permisiunile utilizatorilor. Prin urmare, este mai bine să modificați permisiunile și proprietatea în ambele directoare pentru a vă asigura că ambele directoare au privilegii de citire și scriere.
Apoi, adăugați toate datele pe care doriți să le sincronizați între serverele din dir1. De exemplu, adăugați câteva fișiere zip.
sudo mv ~ / Documente.zip / dir1Având fișierele, vrem să sincronizăm în directorul corect, să executăm comanda unison pentru a sincroniza de pe serverul unu ca:
unison / dir1 ssh: // 192.168.0.201 // dir2La prima lansare Unison, veți primi un avertisment că procesul de sincronizare poate dura ceva timp. Dacă aveți fișiere mari în directoare, acest lucru poate dura ceva timp, dar din moment ce îl folosim doar în scopuri de testare, ar trebui să fie relativ rapid.
Apăsați Enter pentru a începe procesul de sincronizare. După finalizarea procesului de sincronizare, accesați server2, navigați la dir2 și listați conținutul directorului ca:
cd / dir2 && ls -la-rw-r - r-- 1 rădăcină rădăcină 436 5 ian 12:57 Documente.fermoar
Modificarea configurației Unison
În majoritatea cazurilor, nu dorim să sincronizăm interactiv fișierele între aceste servere, deoarece procesul este repetitiv și ineficient. Putem edita fișierul de configurare Unison pentru a permite fișierele de sincronizare automată.
Utilizați comanda de mai jos pentru a edita fișierul de configurare implicit:
sudo vi ~ /.unison / implicit.prfÎn fișier, adăugați următoarele rânduri:
auto = adevăratlot = adevărat
Liniile de mai sus dezactivează solicitările la sincronizarea fișierelor, automatizând procesul.
Configurarea Unison Cronjob
Un lucru sigur este că programatorii sunt foarte avers de a face lucrurile manual, mai ales atunci când este posibilă automatizarea, ceea ce este cazul aici. Putem configura o cronjob pentru ca Unison să efectueze sincronizarea în mod automat.
În server1, creați un script bash simplu pentru a rula comanda unison ca:
sudo touch / usr / bin / unisoncron && sudo vi / usr / bin / unisoncronÎn fișier, începeți cu un shebang și adăugați comanda de sincronizare unison:
#!/ bin / bash /unison / dir1 ssh: // 192.168.0.201 // dir2
Ca de obicei, faceți scriptul să execute permisiunile:
sudo chmod 755 / usr / bin / unisoncronAcum editați fișierul cronjob cu crontab:
sudo crontab -eDacă este prima dată când editați crontab-sper să nu fie-alegeți editorul și introduceți următoarea linie pentru a sincroniza cu Unison la fiecare 1 oră:
* / 60 * * * * / usr / bin / unisoncron &> / dev / nullDe asemenea, puteți configura crontabul pentru a rula la anumite ore ale zilei. De asemenea, nu este nevoie să utilizați un script și puteți utiliza o comandă brută în crontab.
Concluzie
Acest tutorial v-a arătat cum să instalați și să configurați Unison pe un sistem Debian pentru sincronizarea fișierelor și a directoarelor.
Deși acest ghid rapid vă poate ajuta să începeți, puteți afla mai multe folosind paginile de manual Unison (pagini de manual) sau documentația oficială folosind resursa furnizată mai jos:
- https: // www.cis.upenn.edu / ~ bcpierce / unison /
- https: // www.cis.upenn.edu / ~ bcpierce / unison / download / versions / stable / unison-manual.html