Syncthing je bezplatný program s otevřeným zdrojovým kódem pro synchronizaci souborů mezi zařízeními z místní sítě nebo vzdálenými zařízeními přes internet. Využívá architekturu peer-to-peer a nepřetržitá synchronizace souborů vyměňuje data přímo mezi zařízeními plně automatizovaným způsobem.
Syncthing lze použít k udržení synchronizace souborů a adresářů v reálném čase. Veškerý přenos dat mezi více zařízeními je bezpečný a šifrovaný pomocí TLS.
Klíčové funkce synchronizace jsou:
- Podpora ověřování LDAP.
- podpora jednosměrné synchronizace.
- Vysoká rychlost synchronizace.
- Používejte CLI i GUI
- K dispozici na různých platformách:Linux, Android, Unix, Solaris, Windows a Mac OS X.
V tomto tutoriálu se naučíme, jak instalovat Syncthing na Ubuntu 20.04 .
Předpoklady
- Dva servery s nainstalovaným Ubuntu 20.04.
- Uživatel s přístupem sudo a root.
- Dvě nakonfigurované veřejné IP adresy.
Nainstalujte Syncthing na Ubuntu
Syncthing je k dispozici na oficiálním úložišti. Podle pokynů k instalaci přidejte úložiště Syncthing a nainstalujte jej na Ubuntu.
Nejprve aktualizujte systémové balíčky pomocí následujícího příkazu:
apt update
Nainstalujte všechny závislosti pomocí následujícího příkazu:
apt-get install gnupg2 curl apt-transport-https
Přidejte a stáhněte si uvolňovací klíč:
curl -s https://syncthing.net/release-key.txt | apt-key add -
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
Až budete hotovi, aktualizujte systémové balíčky ještě jednou a nainstalujte Syncthing balíček:
apt-get update
apt-get install syncthing
Ověřte instalaci kontrolou verze Syncthing:
syncthing --version
Výstup:
syncthing v1.18.1 "Fermium Flea" (go1.16.6 linux-amd64) [email protected] 2021-07-30 12:41:57 UTC [noupgrade]
Pokud máte podobný výstup, Syncthing je úspěšně nainstalován.
POZNÁMKA: Stejné instalační kroky budete muset zopakovat na druhém serveru.
Vytvořte soubor systémové jednotky
Dalším krokem je vytvoření souboru systemd unit pro správu služby Syncthing.
Vytvořte soubor v /etc/systemd/system/ pomocí následujícího příkazu.
nano /etc/systemd/system/[email protected]
Přidejte do konfiguračního souboru 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
V části [Service] na řádku -gui-address="0.0.0.0:8384"
přidejte svou veřejnou IP adresu prvního serveru a ponechte stejný port 8384.
Uložte konfiguraci a zavřete soubor.
Nyní znovu načtěte démona systemd, abyste použili konfiguraci:
systemctl daemon-reload
Po opětovném načtení démona spusťte službu Synchting, která odkazuje na vašeho uživatele pomocí následujícího příkazu.
systemctl start syncthing@yourUser
Ověřte stav služby Syncthing:
systemctl status syncthing@yourUser
Služba by měla být aktivní (běžící).
Služba Synchting naslouchá na portu 8384, můžete ověřit pomocí příkazu ss.
ss -antpl | grep 8384
Výstup:
LISTEN 0 4096 45.79.208.51:8384 0.0.0.0:* users:(("syncthing",pid=13837,fd=20))
POZNÁMKA: Opakujte stejné kroky na druhém serveru.
Konfigurace webového rozhraní Syncthing
Otevřete webový prohlížeč a přejděte na webové rozhraní Syncthing s adresami URL.
http://first-server-ip:8384
http://second-server-ip:8384
Webové rozhraní Syncthing používá port 8384.
Po přihlášení byste měli obdržet následující zprávy.
Další Přejděte do Akce> Nastavení> GUI a nastavte uživatelské jméno, heslo a povolte možnost 'Použít HTTPS pro GUI.
Klikněte na tlačítko Uložit a budete přesměrováni na přihlašovací stránku Syncthing, která vás požádá o zadání nových přihlašovacích údajů pro přihlášení.
Po přihlášení, jak vidíte, je nyní připojení zabezpečeno protokolem HTTPS.
POZNÁMKA: Opakujte a nakonfigurujte tento proces také na druhém serveru.
Připojování zařízení
Pro synchronizaci adresářů budeme muset sloučit a propojit ID zařízení obou serverů, přidat ID zařízení každého serveru na jiný server pro synchronizaci souborů.
Chcete-li to provést, přejděte na Akce> Zobrazit ID na obou serverech. Uvidíte následující identifikaci zařízení a QR kód.
Nyní přejděte na první server Syncthing. V dolní části, kde je sekce pro Vzdálená zařízení, klikněte na tlačítko + Přidat vzdálené zařízení.
Zadejte ID zařízení vašeho druhého serveru a klikněte na tlačítko Uložit. Volitelně můžete také přidat Název zařízení pro jasnější zobrazení.
Na druhém serveru opakujte stejný krok. Přejděte na Přidat vzdálené zařízení.
Přidejte ID zařízení z prvního serveru a klikněte na Uložit tlačítko.
Will z obou stran vidí, že zařízení jsou nyní připojena.
Synchronizovat adresáře
Po úspěšném peeringu vzdálených zařízení najděte sekci Složky a klikněte na tlačítko + Přidat složku. Měli byste vidět nové následující okno.
Zadejte název záložní složky do štítku složky v části Obecné. Poté přejděte do sekce Sdílení karty a uvidíte následující obrazovku.
Chcete-li tuto složku sdílet, zaškrtněte své zařízení. V mém případě je název server2 a klikněte na tlačítko Uložit tlačítko.
Nyní přejděte na druhý server a klikněte na tlačítko Znovu prohledat vše. Měli byste vidět následující obrazovku a novou vyskakovací zprávu pro přidání této nové složky.
Kliknutím na tlačítko Přidat přidáte složku Backup sdílenou na prvním serveru. Nyní byste měli vidět následující obrazovku.
Nyní vidíte, že je záloha složek synchronizovaná a aktuální.
Kdykoli vytvoříte nebo upravíte jakékoli soubory ve složce Backup na prvním serveru, budou automaticky synchronizovány s druhým serverem, všechny nové adresáře a soubory v této složce Backup budou zrcadleny na druhém serveru.
Konfigurace složek pouze pro odesílání a pouze pro příjem
Další skvělou funkcí Syncthing je, že můžete nakonfigurovat spárované servery pro odesílání a přijímání a také mohou být určeny pouze pro odesílání a přijímání.
Přejděte do sekce Složky> Vyberte požadovanou záložní složku a klikněte na tlačítko Upravit a poté přejděte na kartu sekce Upřesnit. Uvidíte následující obrázek.
A vyberte Typ složky pro Pouze odeslat/Přijmout a klikněte na tlačítko Uložit.
Konfigurace Ajust Scan Intervals
Pokud chcete uvolnit procesor a nepotřebujete neustále sledovat změny synchronizace, můžete deaktivovat sledování změn a ručně nastavit, kolik minut a hodin chcete synchronizovat změny.
Ověřování služby systemctl
Přejděte na požadované zařízení na server1 nebo server2 a pomocí následujícího příkazu zkontrolujte stav služby systemctl, abyste viděli, jak to funguje na backendu.
sudo systemctl status syncthing@yourUser
Výstup.
● [email protected] - Syncthing - Open Source Continuous File Synchronization for linoxide
Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
Active: active (running) since Wed 2021-08-25 13:46:53 UTC; 1h 4min ago
Docs: man:syncthing(1)
Main PID: 15543 (syncthing)
Tasks: 13 (limit: 1071)
Memory: 29.2M
CGroup: /system.slice/system-syncthing.slice/[email protected]
├─15543 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
└─15548 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at [2600:3c02::f03c:9>
Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Established secure connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at>
Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Adding folder "Backup" (svkz5-mdnbo)
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: No stored folder metadata for "svkz5-mdnbo"; recalculating
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Ready to synchronize "Backup" (svkz5-mdnbo) (sendreceive)
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Completed initial scan of sendreceive folder "Backup" (svkz5-mdnbo)
Závěr
V tomto tutoriálu jsme se naučili, jak nainstalovat Syncthing pro synchronizaci adresářů na Ubuntu 20.04. Můžete používat a synchronizovat více než dvě zařízení a mít aktuální adresáře na všech počítačích.
Podělte se prosím o své zkušenosti s používáním Syncthing v sekci komentářů.