Unison - En Ultimate Local/Remote File Synchronization Tool fir Linux


Dateisynchroniséierung ass de Prozess vu Spigelen, Dateien an Daten op zwou oder méi Plazen am Aklang mat bestëmmte Protokoller. Dateien an Daten sinn déi wäertvollst Saach an dëser Ära vun Informatiounstechnologie. Duerch Dateisynchroniséierung suerge mir fir datt een oder méi Exemplare vun eise wäertvollen Donnéeën ëmmer verfügbar sinn am Fall vun enger Katastroph vun iergendenger Aart oder wa mir op ville Plazen musse schaffen.

E gudde File Synchronizer soll hei ënnendrënner Features hunn:

  1. Kryptographesch Synchroniséierung, als Sécherheetsimplementatioun.
  2. Eng gutt Verhältnis Datekompressioun.
  3. Eng Perfekt Algorithmus Implementatioun fir Dateduplikatioun ze kontrolléieren.
  4. Bleift d'Ännerung vun der Dateiquell.
  5. Geplangte Synchroniséierung.

Een esou Tool ass Unison. Hei an dësem Artikel wäerte mir Unison am Detail diskutéieren, zesumme mat senge Funktiounen, Funktionalitéit a vill méi.

Wat ass Unison?

Unison ass eng Cross-Plattform Dateisynchroniséierungsapplikatioun déi nëtzlech ass fir Daten tëscht zwou oder méi Plazen ze synchroniséieren, sief et Computeren oder Späicherapparat.

  1. Verëffentlecht ënner General Public License (GPL)
  2. Open Source a Cross Platform verfügbar fir (Linux, Unix, BSD, Windows, Mac)
  3. Maacht déiselwecht Versioun vum Fichier iwwer eng aner Maschinn verfügbar, onofhängeg vun der lescht geännerter Plaz.
  4. Kräizplattform Synchroniséierung méiglech dh eng Windows Maschinn kann iwwer e *nix Server synchroniséiert ginn.
  5. Kommunikéiert iwwer Standard Protokoll TCP/IP dh méiglech tëscht all zwou Maschinnen iwwer Internet onofhängeg vun der geographescher Location.
  6. Smart Management - Weist Konflikt wann e Fichier op béide Quell geännert gouf a weist et dem Benotzer.
  7. Séchert SSH Connection - Eng verschlësselte Datenübertragung.
  8. rsync Algorithmus gëtt hei ofgesat, nëmmen de modifizéierten Deel gëtt transferéiert an iwwerschriwwen. Dofir. et ass séier an Ausféierung an Ënnerhalt.
  9. Robust an der Natur
  10. Schreift an der Objective Caml Programmiersprache.
  11. Reife a stabil, keng aktiv Entwécklung erfuerderlech.
  12. Et ass e Benotzer-Niveau Programm dh, Applikatioun brauch keng Superuser privilegéiert.
  13. Et ass bekannt fir seng kloer a präzis Spezifizéierung.

Installatioun vun Unison op Linux

Déi aktuell stabil Verëffentlechung (Unison-2.40.102) kann aus dem Link hei ënnen erofgeluede ginn:

Luet Unison 2.40.102 Stabil erof

Alternativ kënne mir och Unison eroflueden an installéieren, wann et am Repo verfügbar ass mat apt oder yum Kommando wéi hei ënnendrënner.

Öffnen den Terminal mat Ctr + Alt + T a lafen de folgende Kommando um Terminal.

$ sudo apt-get install unison

Als éischt, aktivéiert EPEL Repository an installéiert dann mat dem folgenden Kommando.

$ sudo yum install unison

NOTÉIERT: Deen uewe genannte Kommando installéiert Unison ouni GUI. Wann Dir Unison mat GUI-Ënnerstëtzung installéiere musst, installéiere 'unison-gtk' Package (Nëmme verfügbar fir Debian baséiert Distros) mam Kommando ënnen.

# apt-get install unison-gtk

Wéi benotzen ech Unison

Unison gëtt benotzt fir eng Rei vu Dateien an engem Verzeichnisbaum op eng aner Plaz mat enger ähnlecher Struktur ze synchroniséieren, wat e lokalen Host oder e Fernhost kann sinn.

Loosst eis 5 Dateien ënner Ärem Desktop erstellen an se dann an en Dossier mam Numm 'Desk-Back' an Ärem Heemverzeechnes synchroniséieren.

$ cd Desktop/
$ touch 1.txt 2.txt 3.txt 4.txt 5.txt
$ ls

1.txt 2.txt 3.txt 4.txt 5.txt
$ mkdir /home/server/desk-back

Fëllt elo de 'Unison' Kommando fir Är Desktop Dateien op ënner 'Desk-Back' an Ärem Heemverzeechnes ze synchroniséieren.

$ unison /home/server/Desktop /home/server/desk-back/
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/home/server/Desktop
/home/server/desk-back
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.[]
...
...
Saving synchronizer state
Synchronization complete at 13:52:15 (5 items transferred, 0 skipped, 0 failed)

Elo kontrolléiert d'Location /home/server/desk-back, wann de Synchroniséierungsprozess erfollegräich war?

$ cd /home/server/desk-back/
$ ls

1.txt 2.txt 3.txt 4.txt 5.txt

Fir Remote Dateisynchroniséierung musst Dir déiselwecht Versioun vun Unison op béide lokalen an Remote Server installéiert hunn. Fëllt de folgende Kommando aus fir z'iwwerpréiwen datt d'lokal Unison kann starten a mat dem Remote Unison Server verbannen.

$ unison -testServer /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/
Contacting server...
[email 's password: 
Connected [//tecmint//home/ravisaive/Desktop -> //tecmint//home/ravisaive/Desktop]

Déi uewe genannte Resultater weisen datt de Fernserver erfollegräich ugeschloss ass, synchroniséiert elo d'Dateien mat dem Kommando ënnen.

$ unison -batch /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/

Den éischte Schrëtt ass de Profil ze setzen, deen erfuerdert datt Dir Basisinformatioun als Numm vun engem Profil setzt a wat Dir wëllt synchroniséieren, Quell an Destinatiounsplaz, etc.

Fir Unison GUI unzefänken, fuert de folgende Kommando um Terminal.

$ unison-gtk

Eemol de Profil erstallt ass an d'Quell souwéi d'Destinatioun aginn ass, si mir begréisst mat der ënnendrënner Fënster.

Wielt einfach all d'Dateien a klickt op OK. D'Dateie fänken u vu béide Richtungen ze synchroniséieren, baséiert op dem leschten Update Zäitstempel.

Conclusioun

Unison ass e wonnerbare Tool dat et méiglech mécht personaliséiert Synchroniséierung entweder Manéier ze hunn (Bidirectional), verfügbar a GUI souwéi Kommando Linn Utility. Unison liwwert wat et versprécht. Dëst Tool ass ganz einfach ze benotzen an erfuerdert keng extra Effort. Als Tester war ech ganz beandrockt mat dëser Applikatioun. Et huet eng ganz Partie Features déi kënne implementéiert ginn wéi néideg. Fir méi Informatiounen liesen unisono-Manual.

  1. Rsync (Remote Sync) vu Dateien
  2. Rsnapshot (Rsync-baséiert) Dateisynchronizer

Dat ass alles fir elo. Ech sinn geschwënn erëm hei mat engem aneren interessanten Artikel. Bis dann bleift ofgeschloss a verbonne mat Tecmint. Vergiesst net eis Äre wäertvolle Feedback an eiser Kommentarsektioun ze ginn.