Ať už jste správce nebo běžný uživatel, s největší pravděpodobností budete muset vytvářet pravidelné zálohy svých souborů nebo je synchronizovat mezi několika systémy. Pokud tento úkol vyžaduje pokaždé přepsat všechny soubory, bude to pro vás časově náročné a únavné; Zde přichází na pomoc nástroj Linux Rsync to remote server. Tato příručka vás seznámí s nejužitečnějšími příkazy Rsync a umožní vám používat její rychlé a bezpečné funkce.
Co je nástroj Rsync?
Vzdálená synchronizace (Rsync) je známý příkaz Linux/Unix, který můžete použít pro kopírování a synchronizaci souborů a adresářů prostřednictvím vzdáleného přístupu nebo lokálně. Pomocí příkazu Rsync můžete provádět různé úlohy související s daty, jako je synchronizace, kopírování a získávání záloh. Kromě toho můžete svůj systém Linux zrcadlit do jiného.
Hlavní myšlenkou použití Rsync na vzdálený server je využití jeho rychlého přenosu souborů; k transformaci dat mezi dvěma zdroji bere v úvahu pouze rozdíly mezi nimi. Jinými slovy, použití příkazu Rsync vám pomůže vyhnout se ztrátě času na slepý přenos dat, protože pouze bere v úvahu rozdíly mezi dvěma systémy Linux.
Proč používat Rsync?
Jak již možná víte, jsou k dispozici různé zálohovací nástroje. Otázkou je, čím je nástroj Rsync jedinečný ve srovnání s jinými nástroji nebo příkazy?
Můžete například použít File Transfer Protocol (FTP) mít místní kopii svého webu nebo SCP (Secure Copy Protocol) pro tento úkol. Oba však mají své nevýhody. FTP nezahrnuje šifrování dat, což není to, v co doufáme, a i když SCP nemá problém s nešifrovaným přenosem jako FTP, přenos stále trvá déle, protože k tomu vytváří tunel.
Proto můžeme jako alternativní řešení těchto problémů použít Rsync na vzdálený server s šifrováním na základě klíče (jednoduše nazývané Rsync SSH nebo Rsync over SSH), které zabraňuje odesílání duplicitních dat a využívá klíč SSH. Měli byste také poznamenat, že Rsync využívá kompresi a dekompresi pro příjem a odesílání dat, což vede k menšímu využití šířky pásma.
Jak nainstalovat Rsync?
Pravděpodobně již máte Rsync nainstalovaný ve vašem systému; nicméně pojďme do detailů. Než tak učiníte, věnujte prosím pozornost tomu, že SSH již musí být nainstalován ve zdrojovém i cílovém systému, protože chceme používat Rsync přes SSH.
Krok 1: Kontrola verze SSH
Verzi SSH můžete zkontrolovat pomocí následujícího příkazu:
ssh -V
Chcete-li Rsync na vzdálený server, budete potřebovat místní server, neboli zdroj a vzdálený server. Měli byste se také ujistit, že místní server má oprávnění správce (sudo).
Krok 2: Instalace Rsync Linux
Následující příkaz vám umožní nainstalovat Rsync na Ubuntu, Linux Mint a Debian:
sudo apt install rsync -y
Pokud používáte jiné distribuce Linuxu, jako je Fedora, CentOS, AlmaLinux a Red Hat, zadejte následující příkaz pro instalaci služby Rsync na vzdálený server na váš systém:
sudo dnf install rsync
Poznámka: apt je užitečný nástroj pro instalaci balíčků používaný v distribucích založených na Debianu.
Krok 3: Spuštění Rsync
Nyní musíte spustit a poté povolit Rsync, aby jej začal používat pomocí následujících příkazů:
sudo systemctl start rsync
sudo systemctl enable rsync
Krok 4: Ověření instalace Rsync
Zadejte následující příkaz, abyste se ujistili, že jste správně nainstalovali Rsync a zkontrolovali, jakou verzi ve svém systému Linux používáte:
rsync --version
V následující části probereme, jak používat schopnost tohoto nástroje k vytváření záloh pomocí ověřování na základě klíče.
Jak vytvářet zálohy pomocí Rsync přes SSH?
Vytváření přírůstkových záloh je jedním z případů použití Rsync přes SSH. Věnujte prosím pozornost následujícímu příkazu, abyste pochopili, jak to funguje:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Spuštění výše uvedeného příkazu vám pomůže synchronizovat sourceDir a destinationDir. Tento příkaz obsahuje další možnosti, které byste měli znát, např -a (archiv) a -v (úplné). Všimněte si toho -e ssh možnost vyžaduje připojení Rsync přes protokol SSH.
Pokud chcete SSH připojení chcete-li být přijati přes jiný než výchozí port (port 22), musíte za ním uvést číslo portu -e ssh. Podívejte se na následující příkaz, abyste pochopili, jak to funguje.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
Ve výše uvedeném příkazu předpokládáme, že chceme jako náš port SSH použít 1998 spíše než 22.
Rsync na vzdálený server přes SSH má další možnosti, které mohou být docela užitečné. Například pomocí -částečný možnost umožňuje pokračovat v předchozím částečném přenosu v případě problémů, jako je přerušení Rsync. Aktuální průběh přenosu souborů můžete také znát prostřednictvím -pokrok volba. Nástroj Linux Rsync to remote server navíc umožňuje používat tyto dvě funkce současně. Chcete-li tak učinit, můžete použít -p příznak v příkazovém řádku.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync na vzdálený server pomocí příkazu key umožňuje komprimovat data před jejich přenosem do cíle. I když k dokončení komprese použije váš procesor, je to stále velmi užitečné, protože přenos souborů je rychlejší a vyžaduje menší využití šířky pásma.
Pomocí příkazu Rsync můžete kopírovat soubory a adresáře, vzdálené nebo místní. Hlavní výhodou Rsync je, že je založen na algoritmus delta přenosu, který zabraňuje kopírování duplicitních dat ze zdroje do cíle. Jak již bylo zmíněno, tato funkce nástroje Rsync to remote server vám pomůže, pokud chcete zvládnout každodenní zálohování a zrcadlení systému. S ohledem na to použijte příkaz Rsync pro místní případy použití.
Jak používat Rsync pro místní synchronizaci?
Než se ponoříme do místní synchronizace a jak pro ni použít příkaz Rsync, měli byste znát obecnou strukturu místního Rsync, která je zobrazena níže:
rsync [options] [Source] [Destination]
Kopírování souborů lokálně
Předpokládejme, že chceme synchronizovat nebo zkopírovat soubor z adresáře plochy (tzv Cloudzy) do /home/Public složka; zde je to, co musíte zadat:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Výše uvedený příkaz Rsync obsahuje tři možnosti jako -zvh; používáním -z, budete mít svůj soubor během přenosu komprimovaný. v možnost znamená podrobný výstup a h možnost je to, co nám pomáhá být schopni číst výstupy jako lidé, neboli zobrazování výstupů čitelných pro člověka.
Lokální kopírování adresářů
Pokud chceme zkopírovat adresář plochy (tzv Cloudzy) do /home/Public složka; musíte zadat následující příkaz:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
The -a volba v tomto příkazu archivuje adresáře a soubory během synchronizace.
Můžete rychle zkontrolovat seznam adresářů pro cílovou složku a ověřit, zda byl adresář zkopírován nebo ne. Chcete-li to provést, použijte následující příkaz:
ls -ld /home/Public
Synchronizace souborů a adresářů rekurzivně a lokálně (rekurzivní Rsync)
Co kdyby v souboru bylo několik adresářů a souborů /desktop/Cloudzya chtěli jste je zkopírovat rekurzivně pomocí příkazu Linux Rsync?
V tomto případě použijete -r možnost k rekurzivní synchronizaci místních souborů a adresářů. Můžete také použít možnost archivace (-a) protože má jiné případy použití, jako je rekurzivní kopírování. Podívejte se prosím na následující příkaz, abyste se seznámili s rekurzivními příkazy Rsync.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Kopírování adresářů a souborů z místního systému do vzdáleného
Kromě vlastností Linux Rsync na vzdálený server, o kterých jsme hovořili v předchozích částech, tento dobře známý příkaz také umožňuje synchronizaci souborů a adresářů z místního počítače do vzdáleného systému.
Předpokládejme, že chceme zkopírovat složku (/desktop/Cloudzy/newfolder) z místního počítače do vzdáleného systému (s 192.168.1.79) pod /mycpt; zde je příklad ukazující, jak to funguje:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Jak kopírovat adresáře bez jejich souborů pomocí Rsync?
V některých případech můžeme chtít použít funkce Linux Rsync to remote server pro kopírování adresářů bez souborů; tato synchronizace může být ze vzdáleného počítače do místního systému nebo naopak.
V tomto článku jsme používali vzdálený systém na adrese 192.168.1.79. Předpokládejme, že to máme pod sebou /mycpt a chcete zkopírovat /desktop/Cloudzy adresář z místního systému bez zahrnutí jeho souborů. Chcete-li tak učinit, zadejte níže uvedený příkaz:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Další užitečné příkazy Rsync
Zde probereme některé další příkazy Linux Rsync, které pro vás mohou být praktické.
Určete maximální velikost pro přenos souborů v Rsync
Limitní velikost pro přenos souborů můžete určit pomocí příkazu Rsync, který je užitečný, když pravidelně spouštíte Rsync na vzdálený server a místní počítač, kde jsou šířka pásma a čas zásadní faktory, které je třeba vzít v úvahu. Věnujte pozornost následujícímu příkazu, abyste se seznámili s nastavením omezení velikosti při přenosu souborů Rsync:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Určete minimální velikost pro přenos souborů v Rsync
Stejně jako nastavení maximální velikosti pro přenos souborů můžete určit minimální velikost souboru, který chcete přenést pomocí Rsync do nástroje vzdáleného serveru. V níže uvedeném příkazu nastavíme minimální velikost souboru na 10 kB:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Odebrat soubory ze zdroje po dokončení synchronizace
Jakmile skončíte pomocí příkazu Rsync, možná již nebudete muset mít soubor ve zdrojovém systému. V tomto případě můžete použít příkaz Linux Rsync jako níže k odstranění souborů ze zdroje:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Dry Run Sync
Pokud jste nováčkem v nástroji Linux Rsync a nejste obeznámeni s jeho možnostmi, a suchý běh je správná cesta. Když použijete suchý běh s Rsync, nezmění soubory, ale zobrazí vám výstup příkazu. Poté, co se ujistíte, že chcete příkaz spustit, můžete odebrat – běh nasucho možnost z něj a spustit jej na terminálu. Podívejte se na následující příkaz, abyste se dozvěděli více o funkčnosti chodu nasucho.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Shrnutí: Využití příkazů Linux Rsync
Tento článek vysvětluje, jak používat možnosti Linux Rsync na vzdálený server (a Rsync na místní server) pro různé případy použití, včetně zrcadlení systému, vytváření zálohy souborů a kopírování souborů a adresářů lokálně i vzdáleně pomocí efektivního přístupu. Tento dobře známý linuxový příkaz vám umožňuje těžit z rychlého přenosu souborů a zároveň vám umožňuje používat SSH a kompresi dat.
Získejte ekonomický nebo prémiový Linux VPS pro hostování vašeho webu nebo vzdálené plochy za nejnižší cenu. VPS běžící na Linux KVM pro vyšší efektivitu a práci na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.
Přečtěte si víceZ tohoto operačního systému můžete vytěžit maximum tím, že získáte a Linux VPS řešení od Cloudzy, které vám umožní využívat hostingové plány založené na KVM. S hrdostí vám nabízíme vysoce výkonné služby VPS s 99,95% dostupností, stabilitou, minimální latencí, celosvětovými datovými centry (12 míst), ultrarychlým úložištěm SSD a nepřetržitou technickou podporou. Můžete začít používat svůj Linux VPS za 4,95 $ a škálovat jej, pokud chcete pokročilejší řešení.
FAQ
Jaký port TCP používá Rsync?
SSH obvykle používá port 22 jako výchozí port. Proto při použití rsync přes SSH bude fungovat na tomto konkrétním portu. Na druhou stranu při použití démona Rsync bude využit port 873.
Co je Rsync?
Rsync je nástroj pro Linux, který dokáže vzdáleně nebo lokálně synchronizovat soubory a adresáře. Pomocí příkazu Rsync můžete provádět různé úlohy související s daty, jako je synchronizace, kopírování a získávání záloh.