▷ Rsync Linux: Jak používat a příkazy příklady

Používání příkazů v Linuxu je více než přirozené, protože jsou jádrem Linuxu po mnoho let, proto si musíme být vědomi způsobu, jakým tyto příkazy používáme, protože některé jsou praktické pro základní úkoly, jiné mohou být nebezpeční, pokud je nebudeme spravovat správně. Jedním z nejfunkčnějších příkazů Linuxu je protokol rsync, který vám Solvetic podrobně vysvětlí v celém tomto tutoriálu. Podívejme se nejprve co je rsync.

V současné době lze udržovat infrastrukturu jakékoli velikosti bez jakékoli zálohy považovat za šílenou, disk může kdykoli selhat a vy byste mohli přijít o stejně cenné informace, jako je účetnictví společnosti. V tomto příspěvku si povíme, jak používat Rsync, jeden z nejlepších nástrojů pro zálohování v systémech * nix. Uvidíme od nejzákladnějších po pokročilejší příklady se skripty a příklady, které můžete použít ve svém pracovním prostředí. Bude to manuál vědět, jak používat rysnc.

Potřeba mít stejné informace na různých místech je stále silnější, protože náš pracovní prostor je variabilní a chceme mít naše nástroje vždy s sebou nebo dokonce jako záložní opatření.

Co je rsync?Jedná se o open source nástroj pro přenos souborů a adresářů mezi jedním a druhým místem. Jeho výhody jsou založeny hlavně na kompresi odesílaných informací, umožňuje přenos přes kanál SSH a přenáší pouze soubory a části souborů, které byly upraveny, místo toho, aby se celý soubor přenesl znovu, něco podobné tomu, co se stane při přenosu rozdílů v souboru pod kontrolou verzí Git.

Příkaz rsync (Remote Sync) je příkaz vyvinutý pro úlohy kopírování a synchronizace souborů a adresářů, vzdáleně nebo lokálně v systémech Linux nebo UNIX.

Pomocí tohoto příkazu můžeme vytvářet kopie z:

  • Lokálně
  • Pomocí vzdáleného prostředí
  • Prostřednictvím vzdáleného démona rsync

Rsync používáMezi různá použití pro rsync patří následující:

  • Automatické zálohování na vzdálené servery nebo disky.
  • Vzdálená synchronizace souborů a adresářů.
  • Běžný přenos souborů.

Výhody Rsync

  • Je rychlejší než scp (Secure Copy), protože rsync používá protokol pro odesílání, který umožňuje přenos pouze rozdílu mezi soubory, podruhé přenáší celý soubor podruhé pouze změny, které mohou existovat.
  • Je určen pro vzdálené zálohování.
  • Podporuje kopírování všech oprávnění k souborům, například vlastníka, softwarových skupin a pevných odkazů.
  • Při odesílání souborů použijte menší šířku pásma pomocí komprese.

Rsync má funkci přenosu delta, která umožňuje snížit množství dat odesílaných po síti, což umožňuje odeslání pouze rozdílů mezi zdrojovými soubory a stávajícími soubory ve vzdáleném cíli, proto je rsync ideální pro zálohování a duplikaci.
Rsync jedná v procesu hledání souborů, které mají být přeneseny, pomocí algoritmu lqquick checkqq, který má na starosti vyhledávání souborů, které prošly nějakou modifikací.

Funkce RsyncNěkteré z jeho hlavních charakteristik jsou:

  • Integruje funkce vyloučení voleb podobné GNU tar
  • Má podporu pro kopírování odkazů na Linux, zařízení, vlastníků, skupin a oprávnění
  • Přidejte režim vyloučení CVS, který umožňuje ignorovat stejné soubory, které by CVS ignoroval ve své funkci
  • Nevyžaduje oprávnění superuživatele (root)
  • Můžeme použít vzdálený shell jako ssh nebo rsh
  • Poskytuje přenos souborů pro minimalizaci nákladů na latenci sítě
  • Podporuje ověřené nebo anonymní démony rsync
  • Je to rychlejší než scp

Uvidíme, jak pomocí parametrů rsync a rsync provádět úkoly, jako je rsync kopírování pouze nových souborů nebo rsync mazání cílových souborů.

1. Jak používat rsync

Syntaxe pro použití tohoto příkazu je následující:

 cíl zdroje možností rsync 
Proměnné RsyncPomocí této syntaxe můžeme přidat některé proměnné jako:

  • -v: podrobný režim.
  • -r: Tato možnost kopíruje data rekurzivně, aniž by během procesu zanechávala časová razítka a povolení.
  • -a: režim souboru, který umožňuje rekurzivní kopírování souborů a zachovává symbolické odkazy, oprávnění k souborům, vlastnictví uživatelů a skupin a časová razítka.
  • -z: Tato volba komprimuje data v souboru.
  • -h: režim čitelný pro člověka, výstupní čísla ve formátu čitelném pro člověka.

Nyní se podívejme na několik příkladů, jak tento příkaz použít. Na konci tutoriálu vám Solvetic poskytne další parametry pro používání rsync v Linuxu.

2. Jak nainstalovat rsync

Krok 1
Ve většině současných systémů je rsync nainstalován ve výchozím nastavení, ale pokud tomu tak není, můžeme provést následující:

 yum install rsync (Red Hat - CentOS - Fedora) apt -get install rsync (Debian - Ubuntu)

ZVĚTŠIT

Krok 2
V každém případě musíme potvrdit instalaci rsync, v některých systémech, jako je Ubuntu 20, již ve výchozím nastavení přichází:

3. Kopírujte soubory a kopírujte adresáře pomocí rsync


První použití rsync je lokální kopírování nebo synchronizace souboru nebo adresáře. Podívejme se, jak kopírovat soubory rsync, kopírovat adresáře pomocí rsync a synchronizovat dva adresáře pomocí rsync.

Krok 1
Za tímto účelem provedeme následující

 rsync -zvh "soubor" "cíl" 

Krok 2
Zde můžeme vidět detaily jako:

  • Data odeslána
  • Množství přijatých dat
  • Přenosová rychlost
  • Celková velikost

Krok 3
Pokud se jedná o lokální zkopírování adresáře, provedeme následující:

 rsync -zvh "adresář" "cíl" 

4. Zkopírujte nebo synchronizujte vzdálené složky rsync nebo vzdálený adresář

Krok 1
Soubory můžeme kopírovat nebo synchronizovat lokálně do vzdáleného počítače, proto použijeme následující syntaxi:

 rsync -avz soubor / [email protected]: / destinace / 

Krok 2
Kdykoli použijeme vzdálenou IP, musíme zadat heslo uživatele root vzdáleného počítače. Nyní, pokud budeme kopírovat vzdálený adresář na náš místní server, použijeme následující syntaxi:

 rsync -azvh [email protected]: / destinace / adresář / 

5. Rsync SSH jak používat


SSH (Secure Shell) je další bezpečnostní mechanismus pro přenos dat, čehož je dosaženo, protože SSH využívá zabezpečené připojení s vysoce standardizovaným šifrováním.

Krok 1
Pokud se chystáme zkopírovat lokální soubor na vzdálený počítač s SSH, musíme použít volbu „-e“ s názvem protokolu, který chcete použít:

 rsync -avzhe ssh [email protected]: / destinace / adresář 

Krok 2
Ke zkopírování lokálního souboru na vzdálený server použijeme následující syntaxi:

 rsync -avzhe ssh "soubor" [email protected]: / destinace / 

Krok 3
Ve vzdáleném adresáři můžeme ověřit, že soubor nebo adresář byl zkopírován:

ZVĚTŠIT

6. Rsync zobrazit průběh přenosu souboru nebo adresáře


Toto je metoda pro lepší správu přenosu, čehož je dosaženo pomocí parametru -progress:
 rsync -avzhe ssh --progress / zdroj [email protected]: / destinace 

7. Zahrnout nebo vyloučit adresáře rsync


Možnosti -include a -exclude jsou volby, které nám umožňují buď zahrnout nebo vyloučit soubory, také nám umožňují určit soubory nebo adresáře, které mají být zahrnuty do synchronizace, nebo vyloučit soubory a složky, které by neměly být přenášeny.

Jeho použití je následující:

 rsync -avze ssh --include 'Letter *' --exclude ' *' [email protected]: / destination 

8. Rsync mazání souborů a adresářů


V případě, že soubor nebo adresář není ve zdroji, ale je již k dispozici v cílovém umístění, můžeme tento soubor nebo adresář během procesu synchronizace odstranit, k tomu můžeme použít -delete, abychom odstranili prvky, které nejsou na cílový počítač, provedeme následující:
 rsync -avz -odstranit [email protected]: / destinace 

9. Rsync Omezit velikost souboru


Pomocí parametru -max -size můžeme určit, která je maximální velikost objektů k přenosu pomocí rsync, což pomáhá řídit vzdálený prostor:
 rsync -avzhe ssh --max -size = '300k' / source / [email protected]: / destinace 

10. Rsync odstranit zdrojové soubory, pokud byl přenos úspěšný

S proměnnou -remove-source-files je možné, že soubory, které byly synchronizovány ve zdroji, budou odstraněny, pouze pokud byl celý proces správný, k tomu použijeme následující. Vidíme, že zdrojový soubor byl odstraněn.

 rsync --remove-source-files -zvh "soubor" / cíl / 

11. Spusťte rsync bez ovlivnění souborů


Toto je ideální volba pro lidi, kteří plně neznají sílu rsync, protože ukazuje, co příkaz udělá, ale neovlivňuje původ, čehož je dosaženo například pomocí parametru -dry -run. Vidíme, že soubor stále existuje.
 rsync --dry-run --remove-source-files -zvh "soubor" / cíl / 

12. Omezte šířku pásma rsync


Pomocí parametru -bwlimit bude možné definovat, jakou síťovou rychlost má rsync používat pro synchronizační úlohy, čehož je dosaženo následujícím způsobem:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / destinace 

13. Zálohujte pomocí Rsync


Někdy musíme před provedením úprav zálohovat určité informace a v případě chyby při obnově ze Zálohování začneme s laboratorním zálohováním z jedné složky do druhé. Tímto způsobem vytvoříme zálohu pomocí rsync úplným a bezpečným způsobem.

Krok 1
Začneme ověřením, že je nainstalován rsync.

 [uživatel @ Solvetic ~] $, který rsync / usr / bin / rsync
Krok 2
Vytvoříme 2 složky pro zdroj a cíl souborů.
 mkdir {backup1, backup2} 
Krok 3
Ve složce backup1 vytváříme několik souborů, v tomto případě na velikosti souborů nezáleží.
 [uživatel @ Solvetic ~] $ touch backup1 / soubor {1… 75} 
Krok 4
Adresář by měl mít 75 souborů. Provádíme zálohu.
 [uživatel @ Solvetic ~] $ ls záloha1 / soubor1 soubor14 soubor19 soubor23 soubor28 soubor32 soubor37 soubor41 soubor46 soubor50 soubor55 soubor6 soubor64 soubor69 soubor73 soubor10 soubor15 soubor2 soubor24 soubor29 soubor33 soubor38 soubor42 soubor47 soubor51 soubor56 soubor60 soubor65 soubor7 soubor74 soubor11 soubor16 soubor20 soubor25 soubor3 soubor34 soubor39 soubor43 soubor48 soubor5 file57 file61 file66 file70 file75 file12 file17 file21 file26 file30 file35 file4 file44 file49 file53 file58 file62 file67 file71 file8 file13 file18 file22 file27 file31 file36 file40 file45 file5 file54 file59 file63 file68 file72 file9
Krok 5
K zálohování souborů na backup2 používáme. Zdroj musí končit / jinak by zkopíroval svou složku a ne obsah.
 rsync -r záloha1 / záloha2 
Krok 6
POKUD zadáme zálohu2, můžeme vidět 75 souborů a dokonce můžeme ověřit, že se jedná o 2 identické adresáře pomocí diff.
 [uživatel @ Solvetic ~] $ diff backup1 backup2 
Krok 7
V případě vytvoření softwarového odkazu ze souboru v adresáři 1
 ln -s file30 soubor100 
Krok 8
V tomto případě použijeme rsync s -r nesynchronizuje softlink. Pokud se podíváme na tuto dobu, budeme mít softlink synchronizovaný.
 rsync -a záloha1 / záloha2 
PoznámkaPokud si nejsme jisti, co budeme podporovat, můžeme použít simulaci s -n a ve spojení s -v to může být velmi užitečné.
 [uživatel @ Solvetic ~] $ rsync -anv backup1 / backup2 odesílání přírůstkového seznamu souborů odesláno 606 bajtů přijato 12 bajtů 1236,00 bajtů / s celková velikost je 6 zrychlení je 0,01 (DRY RUN)

14. Další parametry Rsync


Jak jsme zmínili, toto jsou některé z dalších parametrů, které lze použít s rsync v Linuxu:

Parametry Rsync

  • -t, --times: zachovat úpravu času
  • -g, --group: ponechat skupiny
  • -o, -vlastník: ponechat vlastníka objektu
  • -B, --block-size = SIZE: vynutí pevnou velikost bloku kontrolního součtu
  • T, --temp-dir = DIR: tato hodnota vytvoří dočasné soubory v adresáři DIR
  • z, --compress: komprimujte data souboru během přenosu
  • -4, --ipv4: používejte pouze IPv4
  • -6, --ipv6: používejte pouze IPv6

Existuje mnoho dalších proměnných, ale ty jsou více než dost na to, abyste z rsync v Linuxu získali maximum. Viděli jsme, jak používat rsync s nejužitečnějšími možnostmi, spolu s nástroji, jako jsou skripty cron a bash, python, budeme mít vše, co potřebujeme k vytváření záloh, bez potřeby nástrojů třetích stran.

wave wave wave wave wave