Syncthing je bezplatná aplikace pro synchronizaci souborů s otevřeným zdrojovým kódem, která se používá k synchronizaci souborů mezi více vzdálenými zařízeními přes internet. Funguje na architektuře peer-to-peer a automaticky vyměňuje data mezi dvěma zařízeními. Pomáhá vám udržovat soubory a adresáře synchronizované v reálném čase. Veškerý přenos dat mezi více zařízeními je bezpečný a šifrovaný pomocí TLS. Má klienty pro Linux, Windows a macOS. Má také aplikaci pro Android pro synchronizaci z a do smartphonů!
V tomto příspěvku vám ukážeme, jak nainstalovat software pro synchronizaci souborů Syncthing na server Debian 11.
Předpoklady
- Dva servery se systémem Debian 11.
- Na každém serveru je nakonfigurováno heslo uživatele root.
Přidat úložiště synchronizace
Ve výchozím nastavení není Syncthing součástí výchozího úložiště Debian 11. Takže budete muset přidat úložiště Syncthing na oba servery.
Nejprve nainstalujte požadované závislosti pomocí následujícího příkazu:
apt-get install gnupg2 curl apt-transport-https -y
Dále stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
curl -s https://syncthing.net/release-key.txt | apt-key add -
Dále přidejte úložiště Syncthing do APT pomocí následujícího příkazu:
echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list
Dále aktualizujte úložiště pomocí následujícího příkazu:
apt-get update -y
Instalovat Syncthing na Debian 11
V tomto okamžiku je na oba servery přidáno úložiště Syncthing. Nyní spusťte na obou serverech následující příkaz a nainstalujte Syncthing.
apt-get install syncthing -y
Jakmile je Syncthing nainstalováno, ověřte verzi Syncthing pomocí následujícího příkazu:
syncthing --version
Získáte následující výstup:
syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) [email protected] 2021-12-30 12:07:01 UTC [noupgrade]
Vytvoření souboru služby Systemd pro synchronizaci
Dále budete muset vytvořit soubor služby systemd na obou serverech pro správu Syncthing. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/[email protected]
Přidejte následující řádky:
[Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.target [Service] User=%i ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0 Restart=on-failure SuccessExitStatus=3 4 RestartForceExitStatus=3 4 [Install] WantedBy=multi-user.target
Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd, aby se změny aplikovaly.
systemctl daemon-reload
Dále spusťte službu Syncthing pomocí následujícího příkazu:
systemctl start [email protected]
Dále ověřte stav Syncthing pomocí následujícího příkazu:
systemctl status [email protected]
Získáte následující výstup:
? [email protected] - Syncthing - Open Source Continuous File Synchronization for root Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled) Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago Docs: man:syncthing(1) Main PID: 2746 (syncthing) Tasks: 14 (limit: 2341) Memory: 56.3M CPU: 1.661s CGroup: /system.slice/system-syncthing.slice/[email protected] ??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0 ??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0 Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o> Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default) Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384 Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/ Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1" Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no> Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>
Ve výchozím nastavení naslouchá Syncthing na portu 8384. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 8384
Získáte následující výstup:
LISTEN 0 4096 *:8384 *:* users:(("syncthing",pid=2752,fd=28))
Nastavit heslo správce Syncthing
V tomto okamžiku je Syncthing nainstalován a spuštěn na obou serverech. Nyní budete muset vstoupit do webového uživatelského rozhraní Syncthing a nastavit heslo správce.
Chcete-li nastavit heslo správce prvního serveru, otevřete webový prohlížeč a přejděte k němu pomocí adresy URL http://ip-prvního-serveru:8384 . Měli byste vidět následující obrazovku:
Klikněte na Nastavení knoflík. Měli byste vidět následující obrazovku:
V GUI zadejte své uživatelské jméno a heslo správce a klikněte na tlačítko Uložit tlačítko pro použití změn. Budete přesměrováni na přihlašovací stránku Syncthing:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující obrazovce byste měli vidět řídicí panel Syncthing:
Chcete-li nastavit heslo správce druhého serveru, otevřete webový prohlížeč a přejděte k němu pomocí adresy URL http://ip-adresa-druhého-serveru:8384 . Měli byste vidět následující obrazovku:
Klikněte na Nastavení knoflík. Měli byste vidět následující obrazovku:
V GUI zadejte své uživatelské jméno a heslo správce a klikněte na tlačítko Uložit tlačítko pro použití změn. Budete přesměrováni na přihlašovací stránku Syncthing:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující obrazovce byste měli vidět řídicí panel Syncthing:
Přidat každý server na jiný server
Dále budete muset najít ID zařízení každého serveru a přidat jej na jiný server, abyste mohli synchronizovat soubory mezi oběma servery.
Na prvním panelu serveru klikněte na Akce> Zobrazit ID k nalezení ID zařízení. Měli byste vidět následující obrazovku:
Na druhém řídicím panelu serveru klikněte na Akce> Zobrazit ID k nalezení ID zařízení. Měli byste vidět následující obrazovku:
Na prvním serveru klikněte na zavřít knoflík. Měli byste vidět následující obrazovku:
Nyní klikněte na Přidat vzdálené zařízení . Měli byste vidět následující obrazovku:
Zadejte ID zařízení a název druhého serveru a klikněte na tlačítko Uložit knoflík. Po přidání zařízení byste měli vidět následující obrazovku:
Na druhém serveru klikněte na Přidat vzdálené zařízení . Měli byste vidět následující obrazovku:
Zadejte ID zařízení a název prvního serveru a klikněte na Uložit knoflík. Měli byste vidět následující obrazovku:
Vytvoření a sdílení složky
Dále budete muset přidat a sdílet složku na prvním serveru, kterou chcete synchronizovat s druhým serverem.
Na prvním serveru klikněte na Přidat složku knoflík. Měli byste vidět následující obrazovku:
Zadejte štítek složky, cestu ke složce a klikněte na Sdílení tab. Měli byste vidět následující obrazovku:
Zaškrtněte druhý server a klikněte na Uložit knoflík. Měli byste vidět následující obrazovku:
Dále přejděte na druhý server a klikněte na Znovu vyhledat Vše knoflík. Měli byste vidět následující obrazovku:
Klikněte na Přidat přidat složku sdílenou na prvním serveru. Měli byste vidět následující obrazovku:
Klikněte na tlačítko Uložit tlačítko pro použití změn. Měli byste vidět následující obrazovku:
V tomto okamžiku jsou oba servery nakonfigurovány pro vzájemnou synchronizaci souborů. Kdykoli vytvoříte nebo upravíte jakékoli soubory ve sdílené složce na prvním serveru, budou automaticky synchronizovány s druhým serverem.
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Syncthing na dvou serverech Debian 11 a nastavili synchronizaci mezi oběma servery. Doufám, že vám tento tutoriál pomůže se zálohováním vašeho serveru. Pokud máte nějaké dotazy, neváhejte se mě zeptat.