Už jste se někdy obávali ztráty dat nebo jste unaveni každodenním nebo týdenním ručním zálohováním? Použijte rsync a automaticky synchronizujte vaše místní soubory se vzdáleným serverem tak často, jak je potřeba, bez ručního zásahu. Upozorňujeme, že tato příručka vyžaduje přístup ke vzdálenému serveru Linux (např. AWS) a je napsán pod Ubuntu 20.04, ačkoli jakákoli distribuce Linuxu by měla fungovat dobře.

Nainstalujte rsync

Před čímkoli zkontrolujte, zda rsync je nainstalován. Na místním počítači i na webovém serveru spusťte tento příkaz:

rsync --verze

Pokud na oplátku získáte aktuální verzi rsync, pak jste připraveni na další sekci. V opačném případě, pokud obdržíte a příkaz nenalezen chyba, můžete nainstalovat rsync s tímto příkazem:

sudo apt-get -y install rsync

Vygenerujte klíč SSH

Použijeme a SSH klíč k ověření spojení mezi naším lokálním PC a vzdáleným serverem. Chcete-li vygenerovat nový klíč SSH na místním počítači v terminálu, spusťte příkaz:

Jak nastavit SSH na Linuxu a otestovat nastavení: Průvodce pro začátečníky
instagram viewer

Potřebujete vzdálený přístup k počítači nebo serveru se systémem Linux? Zde je návod, jak nastavit a nakonfigurovat SSH na Linuxu, Windows a mobilu.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Až budete vyzváni k zadání hesla, ponechte jej prázdné a dvakrát stiskněte klávesu Enter. Tím se vygenerují dva nové soubory ve vašem ~/.ssh/ adresář pojmenovaný rsync.key což je soukromý klíč a rsync.key.pub, veřejný klíč.

Nastavení vzdáleného serveru

Ačkoli to není povinné, pro tuto příručku vytvoříme a nový uživatel na vzdáleném serveru pro připojení rsync a pro uložení všech záložních souborů. Přihlaste se ke vzdálenému serveru přes SSH a spusťte tento příkaz:

sudo useradd -m rsync

Výše uvedený příklad používá uživatelské jméno rsync, ale můžete jej změnit na cokoliv chcete. The -m volba jednoduše říká Linuxu, aby vytvořil domovský adresář pro našeho nového uživatele.

Aby se váš místní počítač mohl autentizovat, je třeba zkopírovat veřejný klíč SSH, který byl vygenerován v předchozí části, na vzdálený server. Otevři /~.ssh/rsync.key.pub soubor v a textový editor a uvidíte jednu velkou čáru, která vypadá nějak podobně.

ssh-rsa uživatel@hostitel

Tato dlouhá řada je veřejný klíč SSH. Zkopírujte jej do schránky a na vzdáleném serveru spusťte tyto příkazy:

sudo s rsync
mkdir -m 0700 $ HOME/.ssh
echo "ssh-rsa AAAAB... uživatel@hostitel" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

V předposledním příkazu nahraďte text mezi uvozovkami tímto dlouhým řádkem veřejného klíče SSH. To je vše, váš místní počítač se nyní bude moci ověřit pomocí vzdáleného serveru.

Nakonfigurujte konfigurační soubor ssh

Pro zjednodušení přidejte položku do ~/.ssh/config na místním počítači, abyste se mohli snadno připojit ke vzdálenému serveru. Otevřete soubor na místním počítači pomocí příkazu.

nano $HOME/.ssh/config

Do souboru přidejte položku pro vzdálený server, například:

hostitelský záložní_server
 název hostitele 192.168.0.24
 uživatel rsync
 IdentityFile ~/.ssh/rsync

Změňte název hostitele na IP adresu vašeho vzdáleného serveru a pokud jste použili jiné uživatelské jméno než „rsync“, změňte jej také. Pro hostitele můžete použít cokoli, ale pro tento příklad byl použit "záložní_server". Uložte a zavřete soubor stisknutím Ctrl+X a následně kláves "Y" a Enter.

Otestujte své připojení SSH ke vzdálenému serveru pomocí příkazu.

ssh backup_server

Za předpokladu, že je vše správně nastaveno, měli byste být nyní přihlášeni ke vzdálenému serveru přes SSH. Uzavřete spojení pomocí příkazu.

výstup

Synchronizujte své soubory

Nyní otestujte rsync funkce a například pro synchronizaci adresáře Dokumenty na místním počítači spusťte příkaz:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

První výskyt ~/Dokumenty/ určuje místní soubor nebo adresář k synchronizaci, záložní_server odpovídá záznamu přidanému do ~/.ssh/config soubor a konec :~/Dokumenty jednoduše určuje, že se má vše nahrát do adresáře /Documents vzdáleného serveru vzhledem k domovskému adresáři.

Přihlaste se ke vzdálenému serveru a měli byste vidět nový adresář Dokumenty, který je synchronizován s adresářem vašeho místního počítače. Pokaždé, když spustíte výše uvedený příkaz, budou nahrány pouze soubory, které byly od poslední doby změněny, takže nenahráváte neustále celý obsah adresáře.

Automatizujte přes Crontab

Nyní, když je vše otestováno a funguje správně, můžeme celý proces snadno automatizovat přidáním úlohy crontab do našeho místního počítače. Chcete-li automaticky synchronizovat místní složku se vzdáleným serverem každých 15 minut, spusťte v terminálu příkaz.

(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

Může se vám zobrazit zpráva „žádný crontab pro uživatele“ a můžete ji prostě ignorovat. Změň dokumenty adresář do čehokoli, co chcete zálohovat, ale ujistěte se, že u adresářů ponechte koncové lomítko, jinak nebudou správně zálohovány.

Zkontrolujte, zda byla úloha crontab úspěšně přidána pomocí příkazu.

crontab -l

Pokud vidíte úlohu crontab, která byla právě přidána, pak je vše na svém místě. Počkejte 15 minut, zkontrolujte vzdálený server a měly by tam být všechny potřebné soubory. Od této chvíle budou všechny změny provedené ve vašich souborech automaticky nahrány na vzdálený server každých 15 minut.

Stáhnout ze vzdáleného serveru

Můžete také použít rsync stáhnout soubory ze vzdáleného serveru a synchronizovat je s místním počítačem. Pomocí výše uvedeného příkladu adresáře /Documents spusťte v terminálu příkaz:

rsync -chavzP backup_server:~/Documents/ ~/Documents

The ~./Dokumenty adresář na vašem místním počítači by nyní měl být zrcadlovým obrazem vzdáleného serveru.

Zahrnout a vyloučit vzory

Pokud někdy potřebujete synchronizovat pouze soubory, které odpovídají určitému vzoru, například end with .html můžete použít --zahrnout vzor. V terminálu spusťte příkaz.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Zkontrolujte vzdálený server a uvidíte, že do vzdáleného adresáře /public_html/ byly nahrány pouze soubory s příponou .html z místního adresáře /mysite/. Podobně můžete také synchronizovat vše kromě určitých souborů s --vyloučit volba. Například následující příkaz synchronizuje všechny soubory kromě souborů s a .txt rozšíření.

rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html

Synchronizujte dva místní adresáře

V případě potřeby můžete také pomocí příkazu synchronizovat dva místní adresáře.

rsync -zvr ~/zdroj/adresář ~/cíl/adresář

Tento příkaz funguje úplně stejně jako při synchronizaci se vzdáleným serverem, jediným rozdílem jsou dva lokální adresáře.

V klidu

Nyní si můžete vydechnout s vědomím, že vaše šance na ztrátu dat jsou nyní podstatně nižší. V tomto článku jste se dozvěděli co rsync je, jak vygenerovat a nainstalovat klíč SSH, definovat server v rámci ~./.ssh/config soubor, synchronizovat místní a vzdálený adresář a automatizovat celý proces prostřednictvím crontab. Do budoucna budou všechny potřebné soubory vždy synchronizovány s vaším vzdáleným serverem pouze s 15minutovým zpožděním.

E-mailem
Jak klonovat váš pevný disk Linux: 4 metody

Potřebujete naklonovat linuxový pevný disk nebo oddíl? Ke klonování disku se systémem Linux použijte jeden z těchto nástrojů pro klonování jednotky.

Související témata
  • Linux
  • Zálohování dat
  • Linux
  • Cloudové zálohování
  • Domácí síť
O autorovi
Matt Dizak (13 zveřejněných článků)Více od Matta Dizaka

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Ještě jeden krok…!

Potvrďte prosím svou e-mailovou adresu v e-mailu, který jsme vám právě zaslali.

.