Č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áciaPotom nainštalujte nástroj pomocou jednoduchého príkazu apt to command.
sudo apt-get nainštalovať unison -yAk 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-gtkPOZNÁ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.
- 192.168.0.200 - server1
- 192.168.0.201 - server2
Prvým krokom je vytvorenie súkromného a verejného kľúča na vzdialenom serveri1.
ssh-keygen -t rsaGeneruje 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.201Teraz, 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 / dir1Na serveri2 vytvorte adresár ako je uvedené vyššie
mkdir -p / dir2Ako 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 / dir1Keď 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 // dir2Pri 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.prfDo súboru pridajte nasledujúce riadky:
auto = pravdadá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 / unisoncronV 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 / unisoncronTeraz upravte svoj súbor cronjob pomocou crontab:
sudo crontab -eAk 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 / nullMôž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:
- https: // www.cis.upenn.edu / ~ bcpierce / unison /
- https: // www.cis.upenn.edu / ~ bcpierce / unison / download / releases / stable / unison-manual.html