jak používat rsync s příklady

Rsync je populární nástroj pro synchronizaci souborů, lokálně i vzdáleně. Na rozdíl od jiných synchronizačních nástrojů používá rsync zajímavý algoritmus, který minimalizuje spotřebu šířky pásma. Jednoduše přesune část změněných souborů.

je to výkonný nástroj, který může sloužit v mnoha situacích. V tomto článku předvedu, jak začít s rsync s demonstrací. Demonstrace bude provedena na Ubuntu 18.04.

Rsync

Rsync je zkratka pro termín vzdálená synchronizace. Přes název dokáže zpracovat synchronizaci souborů vzdáleně a lokálně. Termín rsync se také používá k označení protokolu rsync, který rsync používá pro synchronizaci. V tomto článku bude rsync vždy označovat nástroj, nikoli protokol.

díky své naprosté popularitě je rsync k dispozici téměř na každém jednotlivém systému Linux a UNIX. Existuje velká šance, že je předinstalován. Pokud ne, proveďte malý průzkum o tom, jak nainstalovat rsync do vašeho systému.

zde je užší seznam funkcí, které rsync nabízí.

  • Adresář kopírování
  • Snadné zálohování konfigurace
  • Může pracovat přes SSH
  • Může běžet jako démon/server
  • oprávnění Souborů retenční

Rsync použití

Před skokem do rsync, potřebujeme nějaké fiktivní práci. Nejprve vytvoříme fiktivní adresář.

$ mkdir -v primární

Jakmile je vytvořena, je čas vytvořit několik dummy soubory. Chcete-li vytvořit soubor, budu používat příkaz touch. Další informace o příkazu touch.

$ touch dummy{1..20}

Voila! Nyní jsme připraveni použít rsync k provádění akcí pomocí těchto fiktivních souborů.

struktura příkazů Rsync

Rsync používá následující strukturu příkazů.

$ rsync <><src><cíl>

Synchronizace místních adresářů

Nyní, to je čas použít rsync pro synchronizaci souborů na více destinací. V tomto příkladu budeme synchronizovat obsah dir_primary s dir_target.

$ mkdir -v cílové

Řekni rsync pro synchronizaci obsahu adresářů.

$ rsync -v-r primární/ cíl

Zde jsme použili dva různé argumenty.

– v: říká rsync spustit do podrobného režimu
– r: rekurzivní, potřebné pro synchronizaci adresářů.

v tomto dalším příkladu použijeme jiný příznak.

$ rsync -v-primární/ cíl

-: kombinace vlajku, která znamená „archiv“.

pomocí tohoto příznaku rsync synchronizuje obsah rekurzivně při zachování všech symbolických, speciálních/device souborů, časů úprav, oprávnění souborů, skupiny, vlastníka atd. Používá se častěji než vlajka“- r“. Pro archivaci je to doporučenější metoda.

všimli jste si, že ve všech příkazech, které jsme dosud spustili, v případě zdroje vždy uchováváme „/“ za názvem adresáře? To znamená říct rsync, že zdrojem je veškerý obsah zdrojového adresáře. Pokud se nepoužívá “ / “ na konci zdrojového adresáře, rsync jednoduše vytvoří kopii zdrojového adresáře místo jeho obsahu.

pojďme se podívat na příklad.

$ rsync -v-primární cíl

Zkontrolujte, zda výstup výsledek.

$ tree/ cíl

Většinu času, to není něco, co potřebujeme. V závislosti na situaci se však může hodit.

Rsync testovací běh

před spuštěním příkazu rsync je vždy důležité ověřit, zda příkaz provede akci podle očekávání. Pokud chcete otestovat akci rsync pro určitý příkaz, použijte příznak „- n „nebo“ – dry-run“.

$ rsync -avn primární/ cíl

$ rsync -avn primární cíl

výstup ukazuje, co rsync by se provést, pokud byl příkaz skutečně spustit. Kdykoli testujete, nezapomeňte použít příznak „- v“, abyste získali přesnou představu o tom, co se děje.

Rsync přes vzdálené připojení

Toto je další zajímavá funkce, kterou rsync podporuje. Pokud je vaše umístění zálohy někde vzdálené, můžete snadno nakonfigurovat rsync tak, aby prováděl zálohování na vzdáleném místě pomocí SSH. Oba stroje však musí mít nainstalován rsync. Oba systémy navíc musí mít nastavené SSH klíče.

připraven? Tak začneme. Nejprve je to synchronizace archivu.

$ rsync – <local_dir><uživatelské jméno><remote_host><
destination_dir>

Zde, tato operace se nazývá „push“, protože to tlačí adresář z místního systému do vzdáleného systému. Opak je známý jako „pull“.

$ rsync – <uživatelské jméno><remote_host><source_dir><local_dir>

Rsync považuje první argument jako zdroj, druhý jako cíl.

užitečné možnosti rsync

Rsync podporuje spoustu možností. Všichni slouží svému účelu. Z větší části se však většinou používá jen hrstka z nich. V této části se podívejme na některé užitečné možnosti rsync.

většinu času nejsou soubory, které se chystáte synchronizovat, komprimovány. Pomocí komprese můžete ušetřit čas i šířku pásma za cenu trochu extra výpočetního výkonu. Rsync nabízí kompresi ve výchozím nastavení. Chcete-li provést komprimovanou synchronizaci, použijte příznak „- z“.

$ rsync -avz <zdroj><cíl>

Tento zajímavý vlajka kombinuje funkce obou „pokroku“ a „částečné“ vlajku. První je ukázat ukazatel průběhu přenosu a druhý je umožnit obnovení přerušeného přenosu. Obě tyto funkce jsou kombinovány do vlajky“- P“.

$ rsync -avzP <source><destination>

Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

$ rsync -avzP <zdroj><cíl>

Tady, rsync nechtěl znovu nahrát všechny soubory. Místo toho přeskočila ty, které se vůbec nezměnily. V tomto příkladu přeskočil všechny soubory, protože všechny jsou přítomny v cílovém adresáři.

Co když jste odstranili soubor ze zdrojového adresáře? Ve výchozím nastavení rsync neodstraní nic z cílového adresáře. Chcete-li vynutit odstranění souborů rsync, použijte příznak „–delete“. Použijte však suchý Běh k testování, zda příkaz funguje tak, jak chcete.

$ rsync -avn –delete <zdroj><cíl>

ve výchozím nastavení, rsync bude synchronizovat všechny soubory/adresáře ze zdrojového do cílového adresáře. V určitých situacích možná budete chtít zahrnout / vyloučit určité soubory ze synchronizace. Rsync nabízí praktické možnosti jako „- exclude “ a „- include “ pro vyloučení / zahrnutí určitých souborů. Předejte vzor souboru jako hodnotu pro tyto argumenty.

$ rsync -avn –exclude=<vzor> –include=<vzor>

Můžete také definovat největší velikost souboru, který rsync by se mělo synchronizovat. Chcete–li to provést, použijte příznak „-max-size “ následovaný velikostí souboru.

$ rsync -avn-max-size=’10‘ <zdroj><cíl>

Rsync má další zajímavou funkci ve svém rukávu. Po synchronizaci již nepotřebujete zdrojový soubor? Rsync to dokáže, žádný problém. Ujistěte se však, že nespustíte rsync s příznakem“- delete“. V opačném případě rsync odstraní synchronizované soubory z cíle!

$ rsync -av –remove-zdroj-soubory <zdroj><cíl>

Poslední myšlenky

to jsou jen některé běžné a jednoduché scénáře použití rsync. Nabízí mnohem víc než to. Je možné automatizovat operace rsync pomocí démona rsync nebo jiného skriptování. Doufejme, že tato příručka byla užitečná při začátcích s rsync.

máte zájem o více rsync? Rsync můžete použít jako kopírku souborů. Je to efektivnější a inteligentnější než cp. Více do hloubky funkce a využití lze nalézt v rsync man page.

$ man rsync

Užijte si to!



Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.