Debian

Hvordan bruke Unison til å synkronisere filer mellom servere

Hvordan bruke Unison til å synkronisere filer mellom servere
Denne veiledningen viser deg hvordan du konfigurerer og bruker Unison File-synkroniseringsverktøyet på Debian-systemer. Ved hjelp av Unison kan du synkronisere filer mellom to forskjellige disker eller kataloger i samme system eller to andre systemer over nettverket.

Hva er Unison?

Unison-teknologien utviklet av Benjamin C Pierce under GPL-lisensen tillater brukere å synkronisere to enkeltfilforekomster på samme system, men forskjellige disker eller to andre systemer.

Unison lar deg beholde en oppdatert og identisk versjon av samme fil eller katalog. Den kan brukes i mange forskjellige sammenhenger, for eksempel SSH, som muliggjør sikker overføring av data mellom enheter eller kataloger.

Unison-verktøyet er tverrplattform, slik at brukerne kan synkronisere filer og kataloger mellom systemer som kjører de samme eller forskjellige operativsystemene. For eksempel kan du synkronisere filer fra et Linux-system til et BSD-system. På grunn av sikkerhetsfunksjonene synkroniserer Unison filer og kataloger og bruker eierskap og tillatelsesrettigheter på begge systemene.

Unison-verktøyet er utviklet med tanke på sikkerhet og kan overleve feil der avbrudd skjer mellom synkroniseringspunkter. Hvis Unison oppdager fil- og katalogkonflikter, rapporterer den eksisterende konflikter og lar brukerne velge hvilken versjon av filene som skal brukes.

Unison kan jobbe med eller støtter langsomme nettverk, noe som gjør det til et veldig effektivt verktøy for bruk av båndbredde. Den synkroniserer bare deler og kataloger som er endret, og forhindrer dermed tung belastning og oppdaterer synkroniseringsprosessen veldig enkelt og raskt.

Til tross for sin primære brukskontekst er Unison et kraftig verktøy som kan modifiseres for å skape et bredt spekter av brukssaker.

Denne opplæringen vil diskutere hvordan du installerer og konfigurerer Unison File Synchronization System på Debian 10.

Slik installerer du Unison på Debian 10

Unison er et populært verktøy; på grunn av det er den tilgjengelig i offisielle repositories av store Linux-distribusjoner.

For å installere kommandolinjeversjonen av Unison på Debian, begynn å oppdatere systemet:

sudo apt-get update && sudo apt-get upgrade

Deretter bruker du den enkle kommandoen apt for å installere verktøyet.

sudo apt-get install unison -y

Hvis du har et skrivebordsmiljø installert på systemet ditt og foretrekker en GUI-versjon av verktøyet, installerer du unison-gtk ved hjelp av kommandoen:

sudo apt-get install unison-gtk

MERK: Forsikre deg om at du installerer Unison på begge versjonene av systemene du vil synkronisere filer mellom dem. For kompatibilitet og for å minimere sjansene for feil, er det bedre å ha samme versjon av Unison i begge systemene.

Hvordan synkronisere filer med Unison

Unison gir oss måter å synkronisere filer og kataloger mellom lokale maskiner og eksterne maskiner ved hjelp av direkteuttakstilkoblinger og SSH. Siden vi synkroniserer mellom to Debian-servere, hopper vi over lokal maskinsynkronisering.

Unison Remote og Remote Sync via SSH

For å synkronisere filer og kataloger mellom eksterne maskiner, må du ha Unison installert i begge systemene, ha SSH-tilgang til både systemene og deres IP-adresser.

Du kan også bruke din lokale maskin som en server og den eksterne enheten som den andre serveren.

Det første trinnet er å opprette en privat og offentlig nøkkel på den eksterne serveren1.

ssh-keygen -t rsa
Genererer offentlig / privat rsa-nøkkelpar.
Skriv inn filen der du vil lagre nøkkelen (/ home / csalem /.ssh / id_rsa):
Opprettet katalog '/ hjem / csalem /.ssh '.
Skriv inn passordfrase (tom uten passordfrase):
Skriv inn samme passordfrase igjen:
Identifikasjonen din er lagret i / home / csalem /.ssh / id_rsa.
Den offentlige nøkkelen din er lagret i / home / csalem /.ssh / id_rsa.pub.
Nøkkelfingeravtrykket er:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Nøkkelens tilfeldige kunstbilde er:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+

Hopp raskt over nøkkelgenereringsprosessen og lagre filen. Ikke legg til en passordfrase fordi den kan hindre ikke-overvåket synkronisering mellom serverne.

Deretter kopierer du nøkkelen fra server1 til server2 ved hjelp av kommandoen:

ssh-copy-id 192.168.0.201

Nå som du har SSH-oppsett på begge systemene, kan du starte Unison for å synkronisere filer og kataloger.

La oss teste bruken av Unison på begge serverne ved å opprette katalogen vi vil synkronisere på server1:

mkdir -p / dir1

På server2 oppretter du en katalog som ovenfor

mkdir -p / dir2

Som nevnt respekterer Unison brukertillatelser. Derfor er det best å endre tillatelser og eierskap i begge katalogene for å sikre at begge katalogene har lese- og skriverettigheter.

Deretter legger du til alle dataene du vil synkronisere mellom serverne i dir1. Legg for eksempel til noen zip-filer.

sudo mv ~ / Dokumenter.zip / dir1

Etter å ha filene, vil vi synkronisere i riktig katalog, kjøre unison-kommando for å synkronisere fra server en som:

unison / dir1 ssh: // 192.168.0.201 // dir2

Ved den første Unison-lanseringen vil du motta en advarsel om at synkroniseringsprosessen kan ta en stund. Hvis du har store filer i katalogene, kan dette ta en stund, men siden vi bare bruker det til testformål, bør det gå relativt raskt.

Trykk på Enter for å starte synkroniseringsprosessen. Når synkroniseringsprosessen er fullført, går du til server2, navigerer til dir2 og oppgir innholdet i katalogen som:

cd / dir2 && ls -la
-rw-r - r-- 1 rotrot 436 5. jan 12:57 Dokumenter.glidelås

Endring av Unison-konfigurasjon

I de fleste tilfeller vil vi ikke synkronisere filer mellom disse serverne interaktivt, da prosessen er repeterende og ineffektiv. Vi kan redigere Unison-konfigurasjonsfilen for å tillate automatiske synkroniseringsfiler.

Bruk kommandoen nedenfor for å redigere standardkonfigurasjonsfilen:

sudo vi ~ /.unison / standard.prf

Legg til følgende linjer i filen:

auto = sann
batch = true

Ovennevnte linjer deaktiverer beskjeder når du synkroniserer filer, og automatiserer prosessen.

Sette opp Unison Cronjob

En sikker ting er at programmerere er veldig avhengige av å gjøre ting manuelt, spesielt når det er mulig å automatisere, noe som er tilfelle her. Vi kan sette opp en cronjob for at Unison skal utføre synkronisering automatisk.

I server1 oppretter du et enkelt bash-skript for å kjøre unison-kommando som:

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

I filen starter du med en shebang og legger til unison sync-kommandoen:

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

Som vanlig, la skriptet utføre tillatelser:

sudo chmod 755 / usr / bin / unisoncron

Rediger nå cronjob-filen din med crontab:

sudo crontab -e

Hvis dette er første gang du redigerer crontab-jeg håper det ikke er å velge redaktør og skriv inn følgende linje for å synkronisere med Unison hver 1. time:

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

Du kan også sette opp crontab til å kjøre på bestemte tidspunkter av dagen. Du trenger heller ikke bruke et skript og kan bruke en rå kommando i crontab.

Konklusjon

Denne veiledningen viste deg hvordan du installerer og konfigurerer Unison på et Debian-system for synkronisering av filer og kataloger.

Selv om denne hurtigveiledningen kan hjelpe deg i gang, kan du lære mer ved å bruke Unison man-sider (manuelle sider) eller den offisielle dokumentasjonen ved å bruke ressursen nedenfor:

Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...