Debian

Jak používat Unison k synchronizaci souborů mezi servery

Jak používat Unison k synchronizaci souborů mezi servery
Tento kurz vám ukáže, jak nastavit a používat synchronizační nástroj Unison File na systémech Debian. Pomocí Unison můžete synchronizovat soubory mezi dvěma různými disky nebo adresáři ve stejném systému nebo dvěma dalšími systémy v síti.

Co je Unison?

Technologie Unison vyvinutá Benjaminem C Piercem v rámci licence GPL umožňuje uživatelům synchronizovat dvě instance jednotlivých souborů ve stejném systému, ale na různých discích nebo ve dvou dalších systémech.

Unison vám umožňuje uchovávat aktualizovanou a identickou verzi stejného souboru nebo adresáře. Je použitelný v nejrůznějších kontextech, jako je SSH, což umožňuje bezpečný přenos dat mezi zařízeními nebo adresáři.

Nástroj Unison je multiplatformní a umožňuje uživatelům synchronizovat soubory a adresáře mezi systémy se stejnými nebo různými operačními systémy. Můžete například synchronizovat soubory ze systému Linux do systému BSD. Díky svým funkcím zabezpečení Unison synchronizuje soubory a adresáře a aplikuje vlastnická a oprávnění práva na oba systémy.

Nástroj Unison je vyvinut s ohledem na bezpečnost a může přežít selhání, kdy dojde k přerušení mezi synchronizačními body. Pokud Unison zjistí konflikty souborů a adresářů, ohlásí existující konflikty a umožní uživatelům vybrat, která verze souborů se má použít.

Unison může pracovat s nebo podporuje pomalé sítě, což z něj činí velmi efektivní nástroj pro využití šířky pásma. Synchronizuje pouze části a adresáře, které se změnily, čímž zabrání velkému zatížení a velmi snadno a rychle aktualizuje proces synchronizace.

Přes svůj primární kontext použití je Unison mocný nástroj, který lze upravit tak, aby vytvořil širokou škálu případů použití.

Tento výukový program bude diskutovat o instalaci a nastavení Unison File Synchronization System v Debianu 10.

Jak nainstalovat Unison na Debian 10

Unison je populární nástroj; proto je k dispozici v oficiálních úložištích hlavních distribucí Linuxu.

Chcete-li nainstalovat verzi příkazového řádku Unison na Debian, začněte aktualizovat systém:

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

Poté nástroj nainstalujte pomocí jednoduchého příkazu apt to.

sudo apt-get install unison -y

Pokud máte v systému nainstalované desktopové prostředí a dáváte přednost verzi nástroje s grafickým uživatelským rozhraním, nainstalujte unison-gtk pomocí příkazu:

sudo apt-get install unison-gtk

POZNÁMKA: Ujistěte se, že instalujete Unison na obě verze systémů, které chcete mezi nimi synchronizovat. Kvůli kompatibilitě a minimalizaci pravděpodobnosti chyb je lepší mít v obou systémech stejnou verzi Unison.

Jak synchronizovat soubory pomocí Unison

Unison nám poskytuje způsoby synchronizace souborů a adresářů mezi místními počítači a vzdálenými počítači pomocí přímého připojení soketů a SSH. Protože synchronizujeme mezi dvěma servery Debian, přeskočíme synchronizaci na lokálním počítači.

Unison Remote and Remote Sync via SSH

Chcete-li synchronizovat soubory a adresáře mezi vzdálenými počítači, budete muset mít Unison nainstalovaný v obou systémech, mít SSH přístup k oběma systémům a jejich IP adresám.

Můžete také použít místní počítač jako jeden server a vzdálené zařízení jako druhý server.

Prvním krokem je vytvoření soukromého a veřejného klíče na vzdáleném serveru1.

ssh-keygen -t rsa
Generování veřejného / soukromého páru klíčů rsa.
Zadejte soubor, do kterého chcete klíč uložit (/ home / csalem /.ssh / id_rsa):
Vytvořený adresář '/ home / csalem /.ssh '.
Zadejte přístupovou frázi (prázdná bez přístupové fráze):
Zadejte znovu stejnou přístupovou frázi:
Vaše identifikace byla uložena do / home / csalem /.ssh / id_rsa.
Váš veřejný klíč byl uložen v adresáři / home / csalem /.ssh / id_rsa.hospoda.
Klíčový otisk prstu je:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Náhodný obrázek klíče je:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. Ó . |
| oo… o |
|.Ó . = . |
|… O o |
+----[SHA256]-----+

Rychle přeskočte proces generování klíče a uložte soubor. Nepřidávejte přístupovou frázi, protože může bránit nesledované synchronizaci mezi servery.

Dále zkopírujte klíč ze serveru1 na server2 pomocí příkazu:

ssh-copy-id 192.168.0.201

Nyní, když máte nastavení SSH v obou systémech, můžete spustit Unison k synchronizaci souborů a adresářů.

Otestujme použití Unison na obou serverech vytvořením adresáře, který budeme synchronizovat na serveru1:

mkdir -p / dir1

Na serveru2 vytvořte adresář, jak je uvedeno výše

mkdir -p / dir2

Jak již bylo zmíněno, Unison respektuje uživatelská oprávnění. Proto je nejlepší změnit oprávnění a vlastnictví v obou adresářích, aby bylo zajištěno, že oba adresáře mají oprávnění ke čtení a zápisu.

Dále přidejte všechna data, která chcete synchronizovat mezi servery v adresáři dir1. Přidejte například několik souborů zip.

sudo mv ~ / Dokumenty.zip / dir1

Po souborech, které chceme synchronizovat ve správném adresáři, spusťte příkaz unison pro synchronizaci ze serveru jako:

unison / dir1 ssh: // 192.168.0.201 // dir2

Při prvním spuštění Unison obdržíte varování, že proces synchronizace může chvíli trvat. Pokud máte v adresářích velké soubory, může to chvíli trvat, ale protože jej používáme pouze pro účely testování, mělo by to být relativně rychlé.

Stisknutím klávesy Enter spusťte proces synchronizace. Jakmile je proces synchronizace dokončen, přejděte na server2, přejděte na dir2 a uveďte obsah adresáře jako:

cd / dir2 && ls -la
-rw-r - r-- 1 kořenový kořen 436 5. ledna 12:57 Dokumenty.zip

Úprava konfigurace Unison

Ve většině případů nechceme interaktivně synchronizovat soubory mezi těmito servery, protože proces je opakovaný a neefektivní. Můžeme upravit konfigurační soubor Unison, abychom povolili automatické synchronizační soubory.

Pomocí níže uvedeného příkazu upravte výchozí konfigurační soubor:

sudo vi ~ /.unisono / default.prf

V souboru přidejte následující řádky:

auto = true
batch = true

Výše uvedené řádky deaktivují výzvy při synchronizaci souborů a automatizují proces.

Nastavení Unison Cronjob

Jedna jistá věc je, že programátoři jsou velmi neochotní dělat věci ručně, zvláště když je to možné automatizovat, což je případ zde. Můžeme nastavit cronjob, aby Unison prováděla synchronizaci automaticky.

V serveru1 vytvořte jednoduchý bash skript pro spuštění příkazu unison jako:

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

V souboru začněte shebangem a přidejte příkaz unison sync:

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

Jako obvykle proveďte oprávnění ke spuštění skriptu:

sudo chmod 755 / usr / bin / unisoncron

Nyní upravte soubor cronjob pomocí crontab:

sudo crontab -e

Pokud je to poprvé, co upravujete crontab - doufám, že to není - vyberte si svého editora a zadejte následující řádek pro synchronizaci s Unison každou 1 hodinu:

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

Můžete také nastavit crontab tak, aby běžel v konkrétní denní dobu. Také nemusíte používat skript a můžete použít surový příkaz v crontabu.

Závěr

Tento kurz vám ukázal, jak nainstalovat a nastavit Unison v systému Debian pro synchronizaci souborů a adresářů.

Ačkoli vám tento rychlý průvodce může pomoci začít, můžete se dozvědět více pomocí manuálových stránek Unison (manuálových stránek) nebo oficiální dokumentace pomocí níže uvedeného zdroje:

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...