Zoeken op website

Unison - Een ultieme lokale/externe bestandssynchronisatietool voor Linux


Bestandssynchronisatie is het proces van het spiegelen van bestanden en gegevens op twee of meer locaties in overeenstemming met bepaalde protocollen. Bestanden en gegevens zijn het meest waardevolle in dit tijdperk van informatietechnologie. Door bestandssynchronisatie zorgen we ervoor dat een of meer kopieën van onze onschatbare gegevens altijd beschikbaar zijn in geval van een calamiteit van welke aard dan ook of wanneer we op veel locaties moeten werken.

Een goede bestandssynchronisatie zou de onderstaande functies moeten hebben:

  1. Cryptografische synchronisatie, als beveiligingsimplementatie.
  2. Een goede verhouding datacompressie.
  3. Een perfecte algoritme-implementatie om gegevensduplicatie te controleren.
  4. Houd wijzigingen in de bestandsbron bij.
  5. Geplande synchronisatie.

Eén zo'n tool is Unison. Hier in dit artikel zullen we “Unison” in details bespreken, samen met de kenmerken, functionaliteit en nog veel meer.

Wat is Unison?

Unison is een platformonafhankelijke bestandssynchronisatietoepassing die handig is bij het synchroniseren van gegevens tussen twee of meer locaties, of het nu computers of opslagapparaten zijn.

Kenmerken van Unison

  1. Uitgegeven onder General Public License (GPL)
  2. Open Source en Cross-platform beschikbaar voor (Linux, Unix, BSD, Windows, Mac)
  3. Maak dezelfde versie van het bestand beschikbaar op verschillende machines, ongeacht de laatst gewijzigde locatie.
  4. Cross-platformsynchronisatie mogelijk, d.w.z. een Windows-machine kan worden gesynchroniseerd via een *nix-server.
  5. Communiceer via het standaardprotocol TCP/IP, d.w.z. mogelijk tussen twee machines via internet, ongeacht de geografische locatie.
  6. Slim beheer – Toon conflicten wanneer een bestand op beide bronnen is gewijzigd en laat het aan de gebruiker zien.
  7. Beveiligde SSH-verbinding – Een gecodeerde gegevensoverdracht.
  8. Het rsync-algoritme wordt hier ingezet, alleen het gewijzigde deel wordt overgedragen en overschreven. Vandaar. het is snel in uitvoering en onderhoud.
  9. Robuust van aard
  10. Geschreven in de programmeertaal “Objective Caml”.
  11. Volwassen en stabiel, geen actieve ontwikkeling vereist.
  12. Het is een programma op gebruikersniveau, dat wil zeggen dat de applicatie geen superuser-privileges nodig heeft.
  13. Het staat bekend om zijn duidelijke en nauwkeurige specificatie.

Installatie van Unison onder Linux

De huidige stabiele release (Unison-2.40.102) kan worden gedownload via de onderstaande link:

Download Unison 2.40.102 Stabiel

Als alternatief kunnen we ook “Unison” downloaden en installeren, als het beschikbaar is in de repo, met behulp van de opdracht apt of yum, zoals hieronder weergegeven.

Op Debian/Ubuntu/Linux Mint

Open de terminal met “Ctr+Alt+T” en voer de volgende opdracht uit op de terminal.

sudo apt-get install unison
Op RHEL/CentOS/Fedora

Schakel eerst de EPEL-repository in en installeer vervolgens met de volgende opdracht.

sudo yum install unison

OPMERKING: Met het bovenstaande commando wordt Unison geïnstalleerd zonder GUI. Als u Unison met GUI-ondersteuning moet installeren, installeer dan het pakket ‘unison-gtk’ (alleen beschikbaar voor op Debian gebaseerde distributies) met behulp van de onderstaande opdracht.

apt-get install unison-gtk

Unison gebruiken

Unison wordt gebruikt om een set bestanden in een directorystructuur te synchroniseren met een andere locatie met een vergelijkbare structuur, die een lokale host of een externe host kan zijn.

Lokale bestandssynchronisatie

Laten we 5 bestanden maken onder uw bureaublad en deze vervolgens synchroniseren met een map met de naam ‘desk-back‘ in uw thuismap.

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

Voer nu de opdracht ‘unison’ uit om uw bureaubladbestanden te synchroniseren met onder ‘desk-back‘ in uw thuismap.

unison /home/server/Desktop /home/server/desk-back/
Voorbeelduitvoer
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)

Controleer nu de locatie /home/server/desk-back, of het synchronisatieproces succesvol is verlopen?

cd /home/server/desk-back/
ls

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

Bestandssynchronisatie op afstand

Voor bestandssynchronisatie op afstand moet dezelfde versie van Unison op zowel de lokale als de externe server zijn geïnstalleerd. Voer de volgende opdracht uit om te controleren of de lokale unisono kan starten en verbinding kan maken met de externe unisono-server.

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

De bovenstaande resultaten geven aan dat de externe server succesvol is verbonden. Synchroniseer nu de bestanden met behulp van onderstaande opdracht.

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

GUI Unison uitvoeren

De eerste stap is het instellen van een profiel. Hiervoor moet u basisinformatie instellen, zoals de naam van een profiel en wat u wilt synchroniseren, de bron- en bestemmingslocatie, enz.

Om Unison GUI te starten, voert u de volgende opdracht uit op de terminal.

unison-gtk

Zodra het profiel is aangemaakt en zowel de bron als de bestemming zijn ingevoerd, worden we verwelkomd met het onderstaande venster.

Selecteer gewoon alle bestanden en klik op OK. De bestanden beginnen vanuit beide richtingen te synchroniseren, op basis van de tijdstempel van de laatste update.

Conclusie

Unison is een prachtig hulpmiddel dat het mogelijk maakt om aangepaste synchronisatie in beide richtingen te hebben (bidirectioneel), beschikbaar in de GUI en in het opdrachtregelhulpprogramma. Unison doet wat het belooft. Deze tool is zeer eenvoudig te gebruiken en vereist geen extra inspanning. Als tester was ik erg onder de indruk van deze applicatie. Het heeft een heleboel functies die naar wens kunnen worden geïmplementeerd. Voor meer informatie lees unison-handleiding.

Lees ook:

  1. Rsync (externe synchronisatie) van bestanden
  2. Rsnapshot (op Rsync gebaseerde) bestandssynchronisatie

Dat is het voor nu. Binnenkort ben ik hier weer met een nieuw interessant artikel. Blijf tot die tijd op de hoogte en verbonden met Tecmint. Vergeet niet om ons uw waardevolle feedback te geven in onze commentaarsectie.