Debian

Cum se utilizează Unison pentru a sincroniza fișiere între servere

Cum se utilizează Unison pentru a sincroniza fișiere între servere
Acest tutorial vă va arăta cum să configurați și să utilizați instrumentul de sincronizare Unison File pe sistemele Debian. Folosind Unison, puteți sincroniza fișiere între două discuri sau directoare diferite din același sistem sau alte două sisteme din rețea.

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 upgrade

Apoi, utilizați comanda apt to command pentru a instala instrumentul.

sudo apt-get install unison -y

Dacă 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-gtk

NOTĂ: 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.

Primul pas este crearea unei chei private și publice pe serverul de la distanță1.

ssh-keygen -t rsa
Generarea 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.201

Acum 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 / dir1

Pe server2, creați un director ca mai sus

mkdir -p / dir2

După 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 / dir1

Avâ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 // dir2

La 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ărat
lot = 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 / unisoncron

Acum editați fișierul cronjob cu crontab:

sudo crontab -e

Dacă 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 / null

De 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:

Jocuri HD remasterizate pentru Linux care nu au avut niciodată lansare Linux mai devreme
Mulți dezvoltatori și editori de jocuri vin cu remasterizarea HD a jocurilor vechi pentru a prelungi durata de viață a francizei, vă rog fanilor să so...
Cum se utilizează AutoKey pentru automatizarea jocurilor Linux
AutoKey este un utilitar de automatizare desktop pentru Linux și X11, programat în Python 3, GTK și Qt. Folosind funcțiile sale de scriptare și MACRO,...
Cum se arată FPS Counter în jocurile Linux
Jocurile cu Linux au primit un impuls major când Valve a anunțat suportul Linux pentru clientul Steam și jocurile acestora în 2012. De atunci, multe j...