Debian

Sådan bruges Unison til at synkronisere filer mellem servere

Sådan bruges Unison til at synkronisere filer mellem servere
Denne vejledning viser dig, hvordan du konfigurerer og bruger Unison File-synkroniseringsværktøjet på Debian-systemer. Ved hjælp af Unison kan du synkronisere filer mellem to forskellige diske eller kataloger i det samme system eller to andre systemer via netværket.

Hvad er Unison?

Unison-teknologien udviklet af Benjamin C Pierce under GPL-licensen giver brugerne mulighed for at synkronisere to enkeltfilforekomster på det samme system, men forskellige diske eller to andre systemer.

Unison giver dig mulighed for at opbevare en opdateret og identisk version af den samme fil eller bibliotek. Det kan bruges i en lang række sammenhænge, ​​såsom SSH, der muliggør sikker overførsel af data mellem enheder eller kataloger.

Unison-værktøjet er på tværs af platforme, så brugerne kan synkronisere filer og mapper mellem systemer, der kører det samme eller forskellige operativsystemer. For eksempel kan du synkronisere filer fra et Linux-system til et BSD-system. På grund af dets sikkerhedsfunktioner synkroniserer Unison filer og kataloger og anvender ejerskabs- og tilladelsesrettigheder på begge systemer.

Unison-værktøjet er udviklet med tanke på sikkerhed og kan overleve fejl, hvor der opstår afbrydelser mellem synkroniseringspunkter. Hvis Unison registrerer fil- og bibliotekonflikter, rapporterer det de eksisterende konflikter og giver brugerne mulighed for at vælge, hvilken version af filerne der skal anvendes.

Unison kan arbejde med-eller understøtter langsomme netværk, hvilket gør det til et meget effektivt værktøj til brug af båndbredde. Det synkroniserer kun dele og mapper, der er ændret, hvilket forhindrer tung belastning og opdaterer synkroniseringsprocessen meget let og hurtigt.

På trods af sin primære anvendelseskontekst er Unison et kraftfuldt værktøj, der kan ændres for at skabe en lang række brugssager.

Denne vejledning diskuterer, hvordan du installerer og opsætter Unison File Synchronization System på Debian 10.

Sådan installeres Unison på Debian 10

Unison er et populært værktøj; på grund af det er den tilgængelig i officielle opbevaringssteder for større Linux-distributioner.

For at installere kommandolinieversionen af ​​Unison på Debian skal du begynde at opdatere systemet:

sudo apt-get opdatering && sudo apt-get upgrade

Brug derefter den enkle apt to kommando til at installere værktøjet.

sudo apt-get install unison -y

Hvis du har et skrivebordsmiljø installeret på dit system og foretrækker en GUI-version af værktøjet, skal du installere unison-gtk ved hjælp af kommandoen:

sudo apt-get install unison-gtk

BEMÆRK: Sørg for, at du installerer Unison på begge versioner af de systemer, du vil synkronisere filer mellem dem. For kompatibilitet og for at minimere chancerne for fejl er det bedre at have den samme version af Unison i begge systemer.

Sådan synkroniseres filer med Unison

Unison giver os måder til at synkronisere filer og mapper mellem lokale maskiner og eksterne maskiner ved hjælp af direkte stikforbindelser og SSH. Da vi synkroniserer mellem to Debian-servere, springer vi over lokal maskinsynkronisering.

Unison Remote og Remote Sync via SSH

For at synkronisere filer og mapper mellem eksterne maskiner skal du have Unison installeret i begge systemer, have SSH-adgang til både systemerne og deres IP-adresser.

Du kan også bruge din lokale maskine som en server og fjernenheden som den anden server.

Det første trin er at oprette en privat og offentlig nøgle på fjernserveren1.

ssh-keygen -t rsa
Genererer offentlig / privat rsa-nøglepar.
Indtast fil, hvor nøglen skal gemmes (/ home / csalem /.ssh / id_rsa):
Oprettet katalog '/ hjem / csalem /.ssh '.
Indtast adgangssætning (tom for ingen adgangssætning):
Indtast den samme adgangssætning igen:
Din identifikation er gemt i / home / csalem /.ssh / id_rsa.
Din offentlige nøgle er gemt i / home / csalem /.ssh / id_rsa.pub.
Nøglefingeraftrykket er:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Nøglens tilfældige kunstbillede er:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+

Spring hurtigt over nøglegenereringsprocessen, og gem filen. Tilføj ikke en adgangssætning, da den kan forhindre ikke-overvåget synkronisering mellem serverne.

Kopier derefter nøglen fra server1 til server2 ved hjælp af kommandoen:

ssh-kopi-id 192.168.0.201

Nu hvor du har SSH-opsætning på begge systemer, kan du starte Unison til at synkronisere filer og mapper.

Lad os teste brugen af ​​Unison på begge servere ved at oprette den mappe, vi synkroniserer på server1:

mkdir -p / dir1

På server2 skal du oprette en mappe som ovenfor

mkdir -p / dir2

Som nævnt respekterer Unison brugertilladelser. Derfor er det bedst at ændre tilladelser og ejerskab i begge mapper for at sikre, at begge mapper har læse- og skriverettigheder.

Dernæst tilføj alle de data, du vil synkronisere mellem serverne i dir1. Tilføj f.eks. Et par zip-filer.

sudo mv ~ / Dokumenter.zip / dir1

Efter at have filerne, vil vi synkronisere i den rigtige mappe, køre unison kommando for at synkronisere fra server en som:

unison / dir1 ssh: // 192.168.0.201 // dir2

Ved den første Unison-lancering modtager du en advarsel om, at synkroniseringsprocessen kan tage et stykke tid. Hvis du har store filer i telefonbøgerne, kan det tage et stykke tid, men da vi kun bruger det til testformål, skal det være relativt hurtigt.

Tryk på Enter for at starte synkroniseringsprocessen. Når synkroniseringsprocessen er afsluttet, skal du gå til server2, navigere til dir2 og liste indholdet af biblioteket som:

cd / dir2 && ls -la
-rw-r - r-- 1 rodrod 436 5. januar 12:57 Dokumenter.lynlås

Ændring af Unison-konfiguration

I de fleste tilfælde vil vi ikke synkronisere filer interaktivt mellem disse servere, da processen er gentagen og ineffektiv. Vi kan redigere Unison-konfigurationsfilen for at tillade automatiske synkroniseringsfiler.

Brug kommandoen nedenfor til at redigere standardkonfigurationsfilen:

sudo vi ~ /.unison / standard.prf

Tilføj følgende linjer i filen:

auto = sandt
batch = sandt

Ovenstående linjer deaktiverer meddelelser, når filer synkroniseres og automatiserer processen.

Opsætning af Unison Cronjob

En sikker ting er, at programmører er meget afskyede for at gøre ting manuelt, især når det er muligt at automatisere, hvilket er tilfældet her. Vi kan oprette en cronjob, så Unison automatisk udfører synkronisering.

I server1 skal du oprette et simpelt bash-script for at køre unison-kommando som:

sudo touch / usr / bin / unisoncron && sudo vi / usr / bin / unisoncron

I filen skal du starte med en shebang og tilføje kommandoen unison sync:

#!/ bin / bash /
unison / dir1 ssh: // 192.168.0.201 // dir2

Som sædvanligt skal du lade scriptet udføre tilladelser:

sudo chmod 755 / usr / bin / unisoncron

Rediger nu din cronjob-fil med crontab:

sudo crontab -e

Hvis dette er din første gang du redigerer crontab-håber jeg, at det ikke er din editor og indtast følgende linje for at synkronisere med Unison hver 1. time:

* / 60 * * * * / usr / bin / unisoncron &> / dev / null

Du kan også indstille crontab til at køre på bestemte tidspunkter af dagen. Du behøver heller ikke bruge et script og kan bruge en rå kommando i crontab.

Konklusion

Denne vejledning viste dig, hvordan du installerer og konfigurerer Unison på et Debian-system til synkronisering af filer og mapper.

Selvom denne hurtige vejledning kan hjælpe dig i gang, kan du lære mere ved at bruge Unison man-sider (manuelle sider) eller den officielle dokumentation ved hjælp af nedenstående ressource:

Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...
Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...