Košík je prázdný

Pokud potřebujete efektivně a bezpečně přenášet soubory mezi dvěma servery nebo počítači, jednou z nejlepších možností je použití nástroje rsync v kombinaci s SSH (Secure Shell). Tento postup je oblíbený mezi administrátory serverů a vývojáři díky své rychlosti, flexibilitě a schopnosti synchronizovat data bezpečnou cestou. V tomto článku se podíváme na to, jak přesně funguje kopírování souborů pomocí rsync přes SSH, jak nastavit jednotlivé kroky a jaké možnosti tento nástroj nabízí.

Co je rsync a proč ho používat?

rsync (Remote Sync) je nástroj, který slouží k přenosu a synchronizaci souborů mezi dvěma místy, přičemž optimalizuje přenos dat. Mezi jeho hlavní výhody patří:

  • Inkrementální kopírování: Přenáší pouze změněné soubory nebo části souborů, což šetří čas i přenosovou šířku.
  • Flexibilita: Může být použit pro lokální i vzdálené kopírování.
  • Bezpečnost: V kombinaci s SSH je přenos šifrován, což zaručuje, že data nebudou odposlouchávána nebo pozměněna během přenosu.
  • Komprese: Možnost komprimovat data během přenosu pro snížení objemu přenášených dat.
  • Automatizace: Snadná integrace do skriptů a automatizovaných úloh.

Jak funguje SSH v kombinaci s rsync?

SSH zajišťuje bezpečný šifrovaný kanál pro přenos dat. Když používáte rsync s SSH, všechny přenášené soubory jsou zašifrovány, což chrání citlivá data před neoprávněným přístupem.

Syntaxe příkazu pro kopírování souborů pomocí rsync přes SSH je následující:

rsync -avz -e ssh zdrojová_složka/ uživatel@server:/cílová_složka/

Zde je rozpis jednotlivých parametrů:

  • -a: Archivní režim, který zachová symbolické odkazy, oprávnění, časové značky a další atributy souborů.
  • -v: Verbose mód, který vypisuje průběh kopírování do terminálu.
  • -z: Komprimuje data během přenosu.
  • -e ssh: Určuje, že přenos bude probíhat přes SSH.

Praktický příklad kopírování pomocí rsync přes SSH

Řekněme, že máte složku s názvem projekt, kterou chcete zkopírovat z lokálního počítače na vzdálený server. Na serveru máte uživatelský účet s názvem uzivatel a cílová složka je umístěna v /home/uzivatel/projekty/. Příkaz pro tento přenos bude vypadat takto:

rsync -avz -e ssh ~/projekt/ uzivatel@server:/home/uzivatel/projekty/

Tento příkaz:

  1. Využije rsync k rekurzivnímu kopírování všech souborů a podsložek ze složky projekt.
  2. Data budou komprimována pomocí parametru -z.
  3. Přenos proběhne přes SSH, což zaručí šifrování.

Další možnosti a parametry rsyncu

Jednou z nejsilnějších vlastností rsync je jeho široká škála parametrů, které můžete přizpůsobit podle svých potřeb. Zde jsou některé užitečné možnosti:

  • --delete: Tento parametr zajišťuje, že v cílové složce budou smazány soubory, které byly odstraněny ve zdrojové složce. Tento přístup je vhodný pro přesné zrcadlení obsahu mezi servery.

    rsync -avz --delete -e ssh ~/projekt/ uzivatel@server:/home/uzivatel/projekty/
    
  • --progress: Pokud chcete sledovat průběh kopírování, použijte tento parametr, který zobrazí informace o velikosti souborů a rychlosti přenosu.
    rsync -avz --progress -e ssh ~/projekt/ uzivatel@server:/home/uzivatel/projekty/
    ​
  • --exclude: Tato volba umožňuje vyloučit určité soubory nebo adresáře z kopírování. Například, pokud nechcete přenášet skryté soubory (začínající tečkou), můžete je vynechat takto:
    rsync -avz --exclude '.*' -e ssh ~/projekt/ uzivatel@server:/home/uzivatel/projekty/
    ​

Automatizace a plánování úloh s rsync

Jednou z výhod rsync je jeho schopnost snadno se integrovat do plánovaných úloh pomocí nástrojů jako je cron v Unixových systémech. Tímto způsobem můžete nastavit automatické zálohování nebo synchronizaci souborů mezi servery. Zde je příklad jednoduché cron úlohy, která bude provádět zálohu každou noc ve 2:00 ráno:

0 2 * * * rsync -avz -e ssh ~/projekt/ uzivatel@server:/home/uzivatel/projekty/

 

Použití rsync v kombinaci s SSH je výkonný nástroj pro bezpečné, efektivní a flexibilní kopírování a synchronizaci souborů mezi dvěma počítači nebo servery. Díky široké škále parametrů lze přizpůsobit konkrétním potřebám a jeho integrace do skriptů a automatizovaných úloh z něj činí nepostradatelný nástroj pro správu dat a záloh.