GNU/Linux >> Znalost Linux >  >> Linux

Lsyncd – Synchronizujte místní adresáře se vzdáleným Linuxem

Lsyncd (Live Syncing Mirror Daemon ) je odlehčené linuxové řešení pro synchronizaci vzdálených a místních adresářů. Použití tohoto linuxového řešení žádným způsobem neovlivňuje výkon vašeho lokálního souborového systému.

[ Také by se vám mohlo líbit:Jak automaticky synchronizovat dva webové servery v Linuxu ]

Po úplné instalaci a konfiguraci Lsyncd , budou vaše místní a vzdálené adresáře synchronizovány tak, že jakákoli změna dat v místním adresáři bude zaznamenána a aktualizována v adresáři vzdáleného serveru. Časté aktualizace adresářů a synchronizační akce zajišťují, že cílové místní a vzdálené adresáře zůstanou stejné.

Nainstalujte Lsyncd na Linux Server

Tento Lsyncd řešení synchronizace je podporováno na různých platformách operačních systémů Linux. V závislosti na distribuci Linuxu, kterou používáte, můžete nainstalovat Lsyncd z jednoho z následujících příkazů:

Nainstalujte Lsyncd v distribucích založených na RHEL

$ sudo yum install epel-release
$ sudo yum install lsyncd

Nainstalujte Lsyncd do Fedora Linux

$ sudo dnf install lsyncd 

Nainstalujte Lsyncd v Debianu, Ubuntu a Mintu

$ sudo apt install lsyncd

Nainstalujte Lsyncd v OpenSUSE

$ sudo zypper install lsyncd

Nainstalujte Lsyncd v Arch Linuxu

$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/lsyncd.git
$ cd lsyncd
$ makepkg -sri

Použití Lsyncd k synchronizaci místních a vzdálených adresářů v Linuxu

Aby byla obousměrná synchronizace adresářů úspěšná, musíte být na svém místním počítači a mít ověřený přístup ke vzdálenému počítači nebo serveru. Na mém konci má vzdálený server, který používám, IP adresu 18.118.208.XX .

Na místním počítači musíme nastavit přihlašování pomocí ssh bez hesla ke zmíněnému vzdálenému počítači/serveru.

Ssh přihlášení bez hesla umožňuje bezproblémovou automatizaci synchronizace lokálních a vzdálených adresářů Lsyncd.

Nastavte SSH bezheslové přihlášení do vzdáleného Linuxu

1. Vygenerujte klíč SSH na místním počítači pro přístup ke vzdálenému serveru bez hesla.

$ sudo ssh-keygen -t rsa  

Až budete vyzváni k zadání přístupové fráze, ponechte pole prázdné stisknutím [Enter ] na klávesnici.

2. Zkopírujte vygenerovaný veřejný klíč SSH na váš vzdálený počítač. Nyní potřebujeme přenést kopii vygenerovaného veřejného klíče SSH na zmíněný vzdálený server/stroj.

$ sudo ssh-copy-id [email protected]

S tímto úspěchem bude jakýkoli budoucí přístup k tomuto vzdálenému serveru (18.118.208.79 ) prostřednictvím příkazu SSH (ssh [email protected] ) by měl být bez hesla.

$ ssh [email protected]

Můžete se také ujistit, že /etc/ssh/sshd_config vašeho vzdáleného počítače soubor má PubKeyAuthentication nastavte na yes a PermitRootLogin nastavit na bez hesla.

Restartujte službu sshd na vzdáleném počítači.

$ sudo systemctl restart ssh.service

Pokud PubKeyAuthentication a PermitRootLogin pole nebyla na vašem serveru povolena a podařilo se vám je povolit, začněte od kroku 1 znovu vygenerovat veřejný klíč SSH a poté jej znovu zkopírujte (krok 2) na vzdálený server.

Synchronizujte místní adresáře se vzdáleným pomocí Lsyncd

Vytvořte potřebný vzdálený/cílový adresář na vašem vzdáleném počítači

$ mkdir linuxshelltips_remotesync

Vytvořte potřebný zdrojový adresář na místním počítači.

$ mkdir linuxshelltips_localsync

Naplňte tento zdrojový adresář některými soubory:

$ sudo touch linuxshelltips_localsync/file{1..16}

Vytvořte Lsyncd Log a stavové soubory.

$ sudo mkdir /var/log/lsyncd
$ sudo touch /var/log/lsyncd/lsyncd.{log,status}

Vytvořte přidružený lsyncd konfigurační adresář.

$ sudo mkdir /etc/lsyncd 

V tomto adresáři vytvořte lsyncd.conf.lua konfigurační soubor.

$ sudo nano /etc/lsyncd/lsyncd.conf.lua

Naplňte jej daty podobnými následujícímu snímku obrazovky

----
-- User configuration file for lsyncd.
----
settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync  {
        default.rsyncssh,
        source = "/home/dnyce/linuxshelltips_localsync",
        host = "[email protected]",
        targetdir = "/home/ubuntu/linuxshelltips_remotesync"
}

V tomto souboru je zdrojem cesta k souborům, které chceme synchronizovat na místním počítači, hostitel odkazuje na uživatelské jméno + IP adresu vzdáleného serveru a targetdir je cílový adresář na vzdáleném serveru.

Dále spusťte a povolte Lsyncd .

$ sudo systemctl restart lsyncd 
$ sudo systemctl enable lsyncd

Přistupte ke vzdálenému serveru a potvrďte přítomnost synchronizovaných adresářových souborů. Podívejte se, zda proběhla nějaká synchronizace souborů.

$ sudo ssh [email protected]

Jak můžete vidět, příkaz ls před spuštěním lsyncd na místním počítači nezobrazoval žádné soubory a příkaz po spuštění zobrazuje zkopírované soubory z místního počítače.

Potřebujete pouze nainstalovat Lsyncd na hostitelském/zdrojovém počítači se soubory adresáře, které potřebujete synchronizovat. Je snadno implementovatelný a poskytuje vám řešení synchronizace souborů, které funguje pro místní-vzdálené počítače a také místní-lokální adresáře.


Linux
  1. Spravujte domovské adresáře uživatelů Linuxu pomocí systemd-homed

  2. Konfigurace místního úložiště v Linuxu pomocí Stratis

  3. Jak synchronizovat adresáře pomocí Lsyncd na Ubuntu 20.04

  1. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  2. Jak synchronizovat místní a vzdálené adresáře v Linuxu

  3. Linux – Suid nemá žádný vliv na adresáře s Linuxem?

  1. Ssh – Zkopírujte soubor zpět do místního systému pomocí Ssh?

  2. Jak na to:Programování v C s adresáři na Linuxu

  3. Přejděte do několika adresářů v linuxu