Debian

Ako používať Unison na synchronizáciu súborov medzi servermi

Ako používať Unison na synchronizáciu súborov medzi servermi
Tento tutoriál vám ukáže, ako nastaviť a používať synchronizačný nástroj Unison File v systémoch Debian. Pomocou Unison môžete synchronizovať súbory medzi dvoma rôznymi diskami alebo adresármi v rovnakom systéme alebo dvoma ďalšími systémami po sieti.

Čo je Unison?

Technológia Unison vyvinutá Benjaminom C Piercem na základe licencie GPL umožňuje používateľom synchronizovať dve inštancie jedného súboru v rovnakom systéme, ale na rôznych diskoch alebo v dvoch ďalších systémoch.

Unison vám umožňuje uchovávať aktualizovanú a identickú verziu rovnakého súboru alebo adresára. Je využiteľný v najrôznejších kontextoch, napríklad SSH, čo umožňuje bezpečný prenos dát medzi zariadeniami alebo adresármi.

Nástroj Unison je multiplatformný a umožňuje používateľom synchronizovať súbory a adresáre medzi systémami s rovnakým alebo odlišným operačným systémom. Môžete napríklad synchronizovať súbory zo systému Linux do systému BSD. Vďaka svojim bezpečnostným funkciám Unison synchronizuje súbory a adresáre a na obidva systémy uplatňuje vlastnícke a oprávňovacie práva.

Nástroj Unison je vyvinutý s ohľadom na bezpečnosť a dokáže prežiť zlyhania, pri ktorých dôjde k prerušeniu medzi synchronizačnými bodmi. Ak Unison zistí konflikty súborov a adresárov, nahlási existujúce konflikty a umožní používateľom vybrať, ktorá verzia súborov sa má použiť.

Unison môže pracovať so sieťami alebo ich podporuje pomaly, čo z neho robí veľmi efektívny nástroj na využitie šírky pásma. Synchronizuje iba časti a adresáre, ktoré sa zmenili, čím zabráni veľkému zaťaženiu a aktualizuje proces synchronizácie veľmi ľahko a rýchlo.

Napriek svojmu primárnemu kontextu použitia je Unison silný nástroj, ktorý je možné upraviť tak, aby vytváral širokú škálu prípadov použitia.

V tomto výučbe sa dozviete, ako nainštalovať a nastaviť systém synchronizácie súborov Unison v systéme Debian 10.

Ako nainštalovať Unison na Debian 10

Unison je populárny nástroj; preto je k dispozícii v oficiálnych úložiskách hlavných distribúcií Linuxu.

Ak chcete nainštalovať verziu príkazového riadku Unison na Debiane, začnite aktualizovať systém:

sudo apt-get aktualizácia && sudo apt-get aktualizácia

Potom nainštalujte nástroj pomocou jednoduchého príkazu apt to command.

sudo apt-get nainštalovať unison -y

Ak máte v systéme nainštalované desktopové prostredie a uprednostňujete verziu nástroja s grafickým rozhraním, nainštalujte program unison-gtk pomocou príkazu:

sudo apt-get install unison-gtk

POZNÁMKA: Nezabudnite nainštalovať Unison na obidve verzie systémov, ktoré chcete synchronizovať medzi nimi. Kvôli kompatibilite a minimalizácii pravdepodobnosti chýb je lepšie mať v oboch systémoch rovnakú verziu Unison.

Ako synchronizovať súbory Unison

Unison nám poskytuje spôsoby synchronizácie súborov a adresárov medzi miestnymi počítačmi a vzdialenými počítačmi pomocou priamych soketových pripojení a SSH. Pretože synchronizujeme medzi dvoma servermi Debian, preskočíme synchronizáciu lokálneho počítača.

Unison Remote and Remote Sync via SSH

Ak chcete synchronizovať súbory a adresáre medzi vzdialenými počítačmi, musíte mať nainštalovaný Unison v oboch systémoch, mať SSH prístup k obidvom systémom a ich IP adresám.

Môžete tiež použiť miestny počítač ako jeden server a vzdialené zariadenie ako druhý server.

Prvým krokom je vytvorenie súkromného a verejného kľúča na vzdialenom serveri1.

ssh-keygen -t rsa
Generuje sa verejný / súkromný pár kľúčov rsa.
Zadajte súbor, do ktorého chcete uložiť kľúč (/ home / csalem /.ssh / id_rsa):
Vytvorený adresár '/ home / csalem /.ssh '.
Zadajte prístupovú frázu (prázdna bez prístupovej frázy):
Znova zadajte rovnakú prístupovú frázu:
Vaša identifikácia bola uložená v priečinku / home / csalem /.ssh / id_rsa.
Váš verejný kľúč bol uložený v priečinku / home / csalem /.ssh / id_rsa.krčma.
Kľúčový odtlačok prsta je:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Náhodný obrázok kľúča je:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+

Rýchlo preskočte proces generovania kľúča a uložte súbor. Nepridávajte prístupovú frázu, pretože môže brániť nesledovanej synchronizácii medzi servermi.

Ďalej skopírujte kľúč z servera1 na server2 pomocou príkazu:

ssh-copy-id 192.168.0.201

Teraz, keď máte nastavenie SSH na oboch systémoch, môžete spustiť Unison na synchronizáciu súborov a adresárov.

Vyskúšajme použitie Unison na oboch serveroch vytvorením adresára, ktorý budeme synchronizovať na serveri1:

mkdir -p / dir1

Na serveri2 vytvorte adresár ako je uvedené vyššie

mkdir -p / dir2

Ako už bolo spomenuté, Unison rešpektuje oprávnenia používateľa. Preto je najlepšie zmeniť povolenia a vlastníctvo v oboch adresároch, aby sa zabezpečilo, že oba adresáre budú mať oprávnenie na čítanie a zápis.

Ďalej pridajte všetky dáta, ktoré chcete synchronizovať medzi servermi v dir1. Napríklad pridajte niekoľko súborov zip.

sudo mv ~ / Dokumenty.zip / dir1

Keď máme súbory, chceme ich synchronizovať v správnom adresári, spustíme príkaz unison na synchronizáciu zo servera ako:

unison / dir1 ssh: // 192.168.0.201 // dir2

Pri prvom spustení Unison dostanete varovanie, že proces synchronizácie môže chvíľu trvať. Ak máte v adresároch veľké súbory, môže to chvíľu trvať, ale keďže ich používame iba na testovacie účely, malo by to byť relatívne rýchle.

Stlačením klávesu Enter spustite proces synchronizácie. Po dokončení procesu synchronizácie prejdite na server2, prejdite na dir2 a uveďte obsah adresára ako:

cd / dir2 && ls -la
-rw-r - r-- 1 koreňový koreň 436 5. januára 12:57 Dokumenty.PSČ

Úprava konfigurácie unisona

Vo väčšine prípadov nechceme interaktívne synchronizovať súbory medzi týmito servermi, pretože proces je opakujúci sa a neefektívny. Konfiguračný súbor Unison môžeme upraviť tak, aby umožňoval automatické synchronizačné súbory.

Pomocou nasledujúceho príkazu upravte predvolený konfiguračný súbor:

sudo vi ~ /.unisono / default.prf

Do súboru pridajte nasledujúce riadky:

auto = pravda
dávka = pravda

Vyššie uvedené riadky deaktivujú výzvy pri synchronizácii súborov, čím sa proces automatizuje.

Nastavuje sa Unison Cronjob

Jedna istá vec je, že programátori veľmi neradi robia veci ručne, najmä keď je to možné automatizovať, čo je prípad tohto prípadu. Môžeme nastaviť cronjob, aby Unison vykonávala synchronizáciu automaticky.

Na serveri1 vytvorte jednoduchý bash skript na spustenie príkazu unison ako:

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

V súbore začnite znakom shebang a pridajte príkaz unison sync:

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

Ako obvykle urobte povolenie na vykonávanie skriptu:

sudo chmod 755 / usr / bin / unisoncron

Teraz upravte svoj súbor cronjob pomocou crontab:

sudo crontab -e

Ak editujete crontab prvýkrát - dúfam, že to nie je - vyberte si editora a do synchronizácie s Unisonom zadajte každú hodinu nasledujúci riadok:

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

Môžete tiež nastaviť crontab tak, aby fungoval v konkrétnu dennú dobu. Tiež nemusíte používať skript a v crontabe môžete použiť nespracovaný príkaz.

Záver

Tento výukový program vám ukázal, ako nainštalovať a nastaviť Unison v systéme Debian na synchronizáciu súborov a adresárov.

Aj keď vám tento rýchly sprievodca pomôže začať, môžete sa dozvedieť viac pomocou manuálových stránok Unison (manuálnych stránok) alebo oficiálnej dokumentácie pomocou nižšie uvedeného zdroja:

Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...