Ať jste správce nebo běžný uživatel, téměř určitě potřebujete pravidelně zálohovat své soubory nebo je synchronizovat mezi několika systémy. Pokud by tato úloha vyžadovala pokaždé přepis všech souborů, byla by pro vás časově náročná a únavná. Právě proto vám 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 Rsyncu, kterými využijete jeho rychlé a bezpečné možnosti.
Co je utility Rsync?
Vzdálená synchronizace (Rsync) je známý příkaz Linux/Unix, který můžete použít ke kopírování a synchronizaci souborů a adresářů prostřednictvím vzdáleného přístupu nebo lokálně. Příkaz Rsync umožňuje provádět různé úlohy související s daty, jako je synchronizace, kopírování a vytváření záloh. Navíc můžete zrcadlit svůj systém Linux na jiný.
Hlavní ideou použití Rsync na vzdálený server je využít jeho rychlý přenos souborů. K transformaci dat mezi dvěma zdroji bere v úvahu pouze rozdíly mezi nimi. Jinými slovy, příkaz Rsync vám pomůže vyhnout se ztrátě času při slepém přenosu dat, protože uvažuje pouze rozdíly mezi oběma systémy Linux.
Proč používat Rsync?
Jak pravděpodobně již víte, k dispozici je řada nástrojů pro vytváření záloh. Otázka je, co dělá nástroj Rsync jedinečným ve srovnání s dalšími nástroji nebo příkazy?
Můžete například použít Protokol přenosu souborů (FTP) k vytvoření lokální kopie vašeho webu, nebo Protokol zabezpečeného kopírování (SCP) pro tuto úlohu. Oba však mají své nevýhody. FTP neobsahuje šifrování dat, což není to, co bychom si přáli, a ačkoli SCP nemá problém s nešifrovaným přenosem jako FTP, přenos trvá déle, protože k němu vytváří tunel.
Proto jako alternativní řešení těchto problémů můžeme použít Rsync na vzdálený server s šifrováním na základě klíčů (jednoduše nazývané Rsync SSH nebo Rsync přes SSH), které zabraňuje odesílání duplikovaných dat a využívá klíč SSH. Měli byste si také všimnout, že Rsync používá kompresi a dekompresi pro příjem a odeslání dat, což vede k nižší spotřebě šířky pásma.
Jak nainstalovat Rsync?
Rsync jste pravděpodobně již instalováni ve vašem systému. Pojďme se do detailů. Než to uděláme, upozorňujeme, že SSH musí být již nainstalován v obou zdrojových a cílových systémech, 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
Pro Rsync na vzdálený server budete potřebovat lokální server, označovaný také jako zdroj, a vzdálený server. Měli byste si také ujistit, že lokální 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 Linux, jako Fedora, CentOS, AlmaLinux a Red Hat, zadejte následující příkaz pro instalaci služby Rsync na vzdálený server v systému:
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 Debian.
Krok 3: Spuštění Rsync
Nyní musíte spustit a poté povolit Rsync, abyste ho mohli začít 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 Rsync nainstalovali správně a abyste zkontrolovali, kterou verzi používáte v systému Linux:
rsync --version
V následující části budeme diskutovat, jak pomocí možností tohoto nástroje vytvořit zálohy prostřednictvím ověřování na základě klíčů.
Jak vytvořit zálohy pomocí Rsync přes SSH?
Inkrementální zálohování je jedním z případů použití Rsync přes SSH. Věnujte pozornost následujícímu příkazu, abyste pochopili, jak funguje:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Spuštění výše uvedeného příkazu vám pomůže se synchronizací sourceDir a destinationDir. Tento příkaz obsahuje i další možnosti, které byste měli znát, například -a (archive) a -v (verbose)Pozn.: Všimněte si, že -e ssh Možnost vyžaduje, aby bylo připojení Rsync realizováno přes protokol SSH.
Pokud chcete, aby Připojení SSH bylo přijímáno na portu jiném než výchozím (port 22), musíte uvést číslo portu za -e ssh. Podívejte se na následující příkaz, abyste pochopili, jak 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 port SSH použít 1998 místo 22.
Rsync na vzdálený server přes SSH má další možnosti, které mohou být velmi užitečné. Například použití –partial vám umožní pokračovat v předchozím neúplném přenosu v případě problémů, jako je přerušení Rsync. Průběh aktuálního přenosu souboru si také můžete prohlédnout pomocí –progress . Navíc vám nástroj Linux Rsync na vzdálený server umožňuje používat obě tyto funkce současně. Pokud chcete, stačí v příkazovém řádku použít -p příznak.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync na vzdálený server s klíčovým příkazem vám umožní komprimovat data před jejich přenosem do cíle. Ačkoli bude komprese vyžadovat váš CPU, stále je velmi užitečná, protože zrychluje přenos souborů a sníží spotřebu šířky pásma.
Příkaz Rsync můžete použít ke kopírování souborů a adresářů, vzdálených nebo místních. Hlavní výhodou Rsync je, že je založen na algoritmu delta přenosu, který zabraňuje kopírování duplicitních dat ze zdroje do cíle. Jak jsme zmínili dříve, tato funkce nástroje Rsync na vzdálený server vám pomáhá, pokud chcete spravovat denní zálohování a zrcadlování systému. S tím na mysli si projdeme případ místního použití příkazu Rsync.
Jak použít Rsync pro místní synchronizaci?
Než se pustíme do místní synchronizace a jak 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ů místně
Předpokládejme, že chceme synchronizovat nebo kopírovat soubor z adresáře na ploše (nazývaný Cloudzy) na /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; pomocí -z, váš soubor bude během přenosu komprimován. v možnost znamená podrobný výstup a h možnost je to, co nám umožňuje číst výstupy jako lidem, tedy zobrazovat výstup čitelný pro člověka.
Kopírování adresářů místně
Pokud chceme kopírovat adresář plochy (nazvaný Cloudzy) na /home/Public složka, musíte zadat následující příkaz:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
The -a možnost v tomto příkazu archivuje adresáře a soubory při synchronizaci.
Můžete rychle zkontrolovat seznam adresářů cílové složky a ověřit, zda byl adresář zkopírován. Použijte k tomu následující příkaz:
ls -ld /home/Public
Synchronizace souborů a adresářů rekurzivně a místně (rekurzivní Rsync)
Co když by bylo v /desktop/Cloudzyvíce adresářů a souborů a chtěli byste je kopírovat rekurzivně pomocí příkazu Linux Rsync?
V tomto případě použijete Možnost -r k rekurzivní synchronizaci vašich místních souborů a adresářů. Můžete také použít možnost archivace (-a) protože má další případy použití, jako je rekurzivní kopírování. Podívejte se 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 na vzdálený
Kromě charakteristik Linux Rsync na vzdálený server, které jsme zmínili v předchozích částech, tento dobře známý příkaz umožňuje synchronizaci souborů a adresářů z místního počítače na vzdálený systém.
Předpokládejme, že chceme kopírovat složku (/desktop/Cloudzy/nováložka) z místního počítače na vzdálený systém (s IP adresou: 192.168.1.79) pod /mycpt; zde je příklad, který ukazuje, 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 možnosti Linux Rsync na vzdálený server pro kopírování adresářů bez souborů; tato synchronizace může být ze vzdáleného počítače na místní systém nebo naopak.
V tomto článku jsme používali vzdálený systém na 192.168.1.79. Předpokládejme, že máme /mycpt složku a chceme kopírovat /desktop/Cloudzy adresář z místního systému bez zahrnutí jeho souborů. Zadejte prosím následující 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é mohou být pro vás praktické.
Určete maximální velikost souboru pro přenos pomocí Rsync
Pomocí příkazu Rsync můžete nastavit limit velikosti pro přenos souborů. To je užitečné, když pravidelně spouštíte Rsync na vzdálený server a šířka pásma a čas jsou klíčové faktory. Podívejte se na následující příkaz, abyste se seznámili s nastavením limitů velikosti pro přenos souborů pomocí Rsync:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Určete minimální velikost souboru pro přenos pomocí Rsync
Stejně jako u nastavení maximální velikosti souborů můžete určit minimální velikost souboru, který chcete přenést na vzdálený server pomocí Rsync. V následujícím příkazu nastavíme minimální velikost souboru na 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Odstraňte soubory ze zdroje po dokončení synchronizace
Jakmile skončíte s příkazem Rsync, nemusíte mít soubory na zdrojovém systému už více. V tomto případě můžete použít příkaz Rsync Linux jako níže k odstranění souborů ze zdroje:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Suchý běh synchronizace
Pokud jste noví v nástroji Rsync Linux a neznáte jeho možnosti, suchý běh zkušební provoz je správný způsob, jak postupovat. Když použijete suchý běh s Rsync, nezmění soubory, ale zobrazí vám výstup příkazu. Poté, co si ověříte, že chcete příkaz spustit, můžete z něj odstranit –dry-run možnost a spustit ji v terminálu. Podívejte se na následující příkaz a dozvíte se více o funkci suchého běhu.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Shrnutí: Používání příkazů Rsync Linux
Tento článek vysvětlil, jak používat schopnosti Rsync Linux na vzdálený server (a Rsync na místní server) pro různé případy použití, včetně zrcadlení systémuvytváření zálohy souborů a kopírování souborů a adresářů místně a vzdáleně pomocí efektivního přístupu. Tento dobře známý příkaz Linux vám umožňuje těžit z rychlého přenosu souborů, zatímco SSH a kompresi dat.
Pořiďte si ekonomický nebo prémiový Linux VPS pro hostování webu nebo vzdálenou plochu, za nejnižší cenu na trhu. VPS běží na Linux KVM pro vyšší výkon a na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.
Číst víceVytvořit si můžete nejlépe využití tohoto operačního systému výběrem Linux VPS řešení od Cloudzy, které vám umožňuje těžit z hostingu založeného na KVM. S hrdostí vám nabízíme vysoce výkonné služby VPS s 99,95% dostupností, stabilitou, minimální latencí, datovými centry po celém světě (12 lokací), ultra-rychlým úložištěm SSD a 24/7 technickou podporou. Svůj Linux VPS můžete začít používat za 4,95 $ a upgradovat na pokročilejší řešení, pokud chcete.
Často kladené otázky
Který port TCP používá Rsync?
SSH obvykle používá port 22 jako výchozí port. Když tedy používáte rsync přes SSH, bude fungovat na tomto konkrétním portu. Na druhou stranu, když používáte démona Rsync, bude použit port 873.
Co je Rsync?
Rsync je nástroj Linux, který může synchronizovat soubory a adresáře vzdáleně nebo místně. Použitím příkazu Rsync můžete provádět různé úlohy související s daty, jako je synchronizace, kopírování a vytváření záloh.