Pouze pro návštěvníky našeho blogu Získejte další 3 měsíce zdarma + 10% slevu na tříletý plán YSBLOG10
Chyťte dohodu

Příkaz Rsync v Linuxu: Kompletní uživatelská příručka 2026 (příklady + tipy)

Příkaz rsync v Linuxu je Rychlý a spolehlivý nástroj pro synchronizaci a zálohování souborů, který kopíruje pouze změněná data pomocí algoritmu delta přenosu. Zachovává oprávnění, vlastnictví, časová razítka a podporuje kompresi a šifrování přes... SSH, výjimky a zrcadlení. Administrátoři používají rsync pro lokální a vzdálené zálohy, migrace serverů a efektivní nasazení webových stránek.

jestli ty manage Pro linuxové servery nebo webové stránky je zvládnutí příkazu rsync v Linuxu nezbytné. V této uživatelské příručce se dozvíte přesně, jak rsync funguje, jak jej nainstalovat, základní možnosti, reálné příklady, ladění výkonu a osvědčené postupy pro bezpečné, inkrementální zálohy – ať už synchronizujete lokálně nebo se vzdáleným serverem přes... SSH.


Co je rsync a jak funguje?

Co je rsync a jak funguje

rsync (vzdálená synchronizace) je nástroj pro diferenční kopírování souborů. Místo přenosu celých souborů pokaždé rsync vypočítává rozdíly a odesílá pouze změněné bloky, čímž dramaticky snižuje šířku pásma a čas.

Podporuje lokální kopie do lokální a lokální přenosy do vzdálené sítě (nebo vzdálené sítě do lokální sítě). přes SSH nebo démon rsync, přičemž zachovává metadata a zpracovává symbolické odkazy, zařízení a pevné odkazy.

Klíčové schopnosti:

  • Algoritmus delta přenosu kopíruje pouze změny
  • Zachovává oprávnění, vlastnictví a časová razítka
  • Funguje lokálně nebo přes SSHdémon /rsync
  • Podporuje vzory vyloučení/zahrnutí a seznamy souborů
  • Zrcadlení a prořezávání pomocí --delete
  • Komprese (-z) a výstup průběhu (-P/--info=progress2)

Instalace rsyncu v Linuxu

rsync je k dispozici ve všech hlavních distribucích. Použijte svůj balíček manager:

# Debian/Ubuntu
sudo apt update && sudo apt install rsync

# RHEL/CentOS/Rocky/Alma (RHEL 8+)
sudo dnf install rsync

# Fedora
sudo dnf install rsync

# Arch/Manjaro
sudo pacman -S rsync

Ověřte instalaci:

rsync --version

Základní syntaxe a rychlý start

Syntaxe rsync je jednoduchá:

rsync [OPTIONS] SOURCE DESTINATION

Příklady:

# 1) Local directory to directory
rsync -av /home/user/Documents/ /mnt/backup/Documents/

# 2) Local to remote over SSH (port 22 by default)
rsync -av -e ssh /var/www/ user@server:/backups/www/

# 3) Remote to local download
rsync -av -e ssh user@server:/var/log/ /local/logs/

Z bezpečnostních důvodů proveďte před spuštěním zkoušku:

rsync -av --dry-run --delete /source/ /dest/

Vysvětlení nejpoužívanějších voleb rsync

Zapamatujte si tyto základní příznaky, abyste se mohli rychle pohybovat a vyhnout se chybám:

  • -a (archiv): Rekurzivně kopírujte a zachovávejte oprávnění, vlastnictví, časová razítka, symbolické odkazy a další.
  • -v (podrobně): Zobrazit více výstupu. Kombinovat s -a as -av.
  • -z (komprimovat): Komprimuje data během přenosu, ideální pro WAN spojení.
  • -P (pokrok + částečný): Zobrazit průběh a ponechat částečné soubory pro rychlejší obnovení.
  • --info=progress2: Jeden kumulativní ukazatel průběhu pro velké běhy.
  • -e ssh: Použijte SSH jako transport pro šifrování a ověřování.
  • --delete: Odstraňte soubory v cílovém umístění, které již neexistují ve zdroji (zrcadle).
  • --exclude/--include: Přeskočit nebo zahrnout konkrétní soubory/vzory.
  • --exclude-from=FILE: Načíst vzory vyloučení ze souboru.
  • --bwlimit=KBPS: Omezte šířku pásma, abyste zabránili přetížení spojů.
  • --checksum: Porovnávejte podle kontrolního součtu, nikoli podle velikosti/času (pomalejší, přesnější).
  • --partial: V případě přerušení uchovávejte částečně přenesené soubory.
  • --backup --backup-dir=DIR: Uložte upravené/odstraněné soubory do záložního adresáře.

Chování koncového lomítka (důležité pro vyhnutí se chybám)

rsync zachází s koncovým lomítkem ve zdrojovém kódu odlišně:

  • rsync -av /src/ /dst/ znamená „kopírovat obsah /src do /dst".
  • rsync -av /src /dst/ znamená „kopírovat adresář src sebe do /dst„(výsledek: /dst/src/...).

Při zrcadlení obsahu adresáře přidejte koncové lomítko u zdroje.

Běžné případy použití rsync s reálnými příklady

1) Lokální zálohy s archivačním režimem

Zachovat atributy a kopírovat pouze změněné soubory:

rsync -av /home/user/Pictures/ /mnt/backup/Pictures/

2) Bezpečná vzdálená synchronizace přes SSH

Použijte SSH pro šifrování a ověřování na základě klíče:

# Default SSH port (22)
rsync -avz -e ssh /var/www/ user@host:/data/www/

# Custom port (e.g., 2222)
rsync -avz -e "ssh -p 2222" /var/www/ user@host:/data/www/

3) Zrcadlení adresáře (Přidat/Odstranit podle zdroje)

Ujistěte se, že cíl je přesným zrcadlem:

# Always dry-run first to confirm deletions
rsync -av --dry-run --delete /srv/files/ /srv/mirror/

# Then run for real
rsync -av --delete /srv/files/ /srv/mirror/

4) Vyloučení souborů a složek

Přeskočte dočasné soubory, mezipaměti nebo velké složky, které nepotřebujete:

rsync -av --exclude=".git" --exclude="node_modules" --exclude="*.tmp" \
/project/ /backup/project/

Pro lepší čitelnost použijte soubor s vyloučením:

# exclude.txt
.git
node_modules
*.tmp
cache/
rsync -av --exclude-from=exclude.txt /project/ /backup/project/

5) Přírůstkové zálohy s verzemi

Efektivně ukládejte denní snímky pomocí pevných odkazů (--link-dest), šetří místo a zároveň zachovává historii:

# Prepare directories
sudo mkdir -p /backups/www
cd /backups/www

# Create a dated snapshot using link-dest to the latest one
DATE=$(date +%F)
rsync -a --delete \
  --link-dest=/backups/www/latest \
  /var/www/ /backups/www/$DATE/

# Update the "latest" symlink
rm -f /backups/www/latest
ln -s /backups/www/$DATE /backups/www/latest

Díky tomu vznikají rychlé a prostorově efektivní denní zálohy a zároveň můžete procházet data nebo je obnovovat kdykoli během dne.

6) Obnovení přerušených přenosů

Použijte -P (nebo --partial --progress) pro obnovení a zobrazení průběhu:

rsync -avP -e ssh /large/archive.iso user@host:/srv/archive/

7) Ověření integrity pomocí kontrolních součtů

Pokud je přesnost důležitější než rychlost, vynuťte porovnání kontrolních součtů:

rsync -av --checksum /source/ /dest/

Nejlepší bezpečnostní postupy pro rsync

  • Preferujte SSH doprava (-e ssh) s ověřováním na základě klíče a zakázáním přihlašování heslem na serverech.
  • Pro zálohování používejte omezený uživatelský účet (s nejnižšími oprávněními). Pokud to není nutné, nespouštějte zálohu jako root.
  • Pro vzdálené stahování, které potřebují pouze soubory root, zvažte sudo rsync s těsným sudoers pravidlo.
  • Omezit SSH podle IP adresy a portu a používejte pravidla firewallu; přidejte 2FA nebo hardwarové klíče pro kritické hostitele.
  • Vyhněte se přímému zpřístupňování démona rsync na internetu, pokud plně nerozumíte ACL modulů a ověřování.

On managed VPS nebo dedikované servery na adrese YouStable, můžete povolit SSH zásady přístupu pouze s klíčem a firewallu od prvního dne pro bezpečné zálohování založené na rsync bez potíží.

Tipy pro ladění výkonu

  • Komprese přes WAN: -zV rychlých lokálních sítích LAN může komprese zpomalit přenosy – otestujte oba způsoby.
  • Efektivně zobrazujte pokrok: --info=progress2 pro velké operace.
  • Vyberte strategii přenosu: --whole-file upřednostňuje propustnost LAN; --inplace vyhýbá se dočasným souborům pro velmi rozsáhlé aktualizace.
  • Přeskakování šumu: Použijte --exclude vzory, aby se zabránilo protokolování, mezipamětím a artefaktům sestavení.
  • V případě potřeby přidejte plyn: --bwlimit=20480 limity na ~20 MB/s pro ochranu produkčního provozu.
  • Navýšit SSH výkon šifer: vyzkoušet -e "ssh -c aes128-gcm@openssh.com" na moderní OpenSSH pro rychlejší šifrování.

Režim démona Rsync (pokročilý)

rsync může běžet jako démon (TCP 873) obsluhující pojmenované moduly. To může být efektivní v důvěryhodných sítích, ale vyžaduje pečlivé ACL a autorizaci. Minimální příklad:

# /etc/rsyncd.conf
uid = nobody
gid = nogroup
use chroot = yes
read only = yes
hosts allow = 10.0.0.0/24

[files]
    path = /srv/exports/files
    comment = Files export

Dočasně spusťte démona:

sudo rsync --daemon --config=/etc/rsyncd.conf

Připojení z klienta:

rsync -av rsync://server/files/ /local/dir/

Řešení běžných chyb rsync

Oprávnění bylo odepřeno

Způsobit: nedostatečná oprávnění nebo SSH problémy s ověřováním. Oprava: zajištění správných oprávnění uživatelů, souborů a klíčů SSH, Pokusit se sudo případně nebo upravit vlastnictví s chown.

Nastavení časů/vlastnictví se nezdařilo

Způsobit: neběží jako uživatel s oprávněními. Oprava: spusťte rsync s sudo na místě určení nebo se vyhnout zachování vlastnictví (--no-owner --no-group), když to není potřeba.

mkstemp selhal: Přístup byl odepřen.

Způsobit: omezení zápisu do cílového adresáře. Oprava: zkontrolujte oprávnění adresáře a volné místo; zkuste to --inplace pokud jsou dočasné soubory blokovány.

Neshoda verzí protokolu

Způsobit: velmi starý rsync na jedné straně. Oprava: aktualizace rsync na obou koncových bodech. Použití SSH Transport se obvykle vyhýbá problémům s protokolem démona.

Rsync vs. SCP vs. Rclone: ​​Kdy co použít

  • rsync: Nejlepší pro přírůstkové synchronizace, zrcadlení, zálohy a částečné delta aktualizace lokálně nebo přes síť SSHBohatá logika vyloučení/zahrnutí.
  • SCP/SFTP: Jednoduché kopírování souborů SSHŽádný delta algoritmus ani pokročilá synchronizační logika; vhodné pro ad hoc přenosy.
  • klon: Synchronizace s cloudem nejprve do S3, GCS, OneDrive atd. Pokud je vaším cílem objektové úložiště, je ideální rclone; pro POSIX servery vítězí rsync.

Praktické hostingové postupy (WordPress, LAMP a další)

Nasazení webu na platformě WordPress

Bezpečná synchronizace motivu a nahraných souborů:

# From staging to production, preserving permissions
rsync -avz -e ssh --exclude="wp-content/cache" \
/var/www/stage.example.com/ wpuser@prod:/var/www/example.com/

Pro dokončení nasazení proveďte export/import databáze. Pro migrace bez výpadků přepněte web do režimu údržby, rsyncujte soubory, synchronizujte databázi a poté ukončete údržbu.

Noční zálohy serveru

Spusťte cron úlohu, která používá --link-dest vytvářet datované snímky. Uložte je na samostatný disk nebo vzdálený zálohovací server. Pokud používáte YouStableVPS nebo dedikovaný hosting, nakonfigurujte zabezpečený externí cíl a sledujte šířku pásma pomocí --bwlimit pro předvídatelná okna zálohování.

Migrace webu mezi hostiteli

Použijte rsync přes SSH kopírovat /var/www, konfigurační soubory v /etc (opatrně) a uživatelská data. Během plánovaného okna pro přechod proveďte závěrečnou delta synchronizaci, abyste zachytili změny na poslední chvíli, a poté přepněte DNS.

Tipy od profesionálů z terénu

  • Vždy proveďte nácvik na suchu s --dry-run před použitím --delete.
  • V cron skriptech používejte absolutní cesty, abyste se vyhnuli překvapením ze změny pracovních adresářů.
  • Výstup protokolu s --log-file=/var/log/rsync-backup.log pro audity a řešení problémů.
  • Kombinujte rsync se snapshoty (LVM, ZFS, Btrfs) pro konzistentní zálohování živých dat.
  • U databází nejprve vypsat (mysqldump or pg_dump), poté pomocí rsync synchronizujte soubory s výpisem.

Nejčastější dotazy

Je rsync rychlejší než scp?

Ano, pro opakované přenosy nebo velké adresáře je rsync obvykle rychlejší, protože kopíruje pouze změněná data. scp vždy přenáší celé soubory. Při první úplné kopii mohou být rychlosti podobné; rsync vyniká při dalších spuštěních.

Provádí rsync automaticky inkrementální zálohy?

rsync vždy přenáší pouze změněné části, ale pro verzované snímky musíte použít --link-dest or --backup --backup-dirToto ukládá inkrementální historii a zároveň udržuje nízké využití prostoru prostřednictvím pevných odkazů.

Jak mohu čistě vyloučit více vzorů?

Vytvořte soubor s jedním vzorem na řádek (např. exclude.txt) a používat --exclude-from=exclude.txtTo je snadněji udržovatelné než řetězení mnoha --exclude příznaky ve skriptech.

Který port používá rsync?

Přes SSH, rsync používá SSH port (výchozí 22). V režimu démona používá TCP 873. Pro nastavení s přístupem k internetu preferujte SSH a omezit přístup pomocí firewallu a klíčů.

Proč se oprávnění k souborům v cílovém umístění liší?

Ujistěte se, že používáte -a zachovat metadata a spustit se s dostatečnými oprávněními v cílovém umístění. Souborové systémy připojené s omezujícími možnostmi nebo vzdálení uživatelé bez vlastnických práv mohou zabránit správnému uchování.

Jak mohu zrychlit rsync na vysokorychlostní LAN?

Zakázat kompresi (--no-compress nebo vynechat -z) a zvažte --whole-file. Navýšit SSH šifrovací výkon a vyloučení nepotřebných souborůPoužívejte SSD disky na obou koncích, abyste odstranili úzká hrdla I/O.

Je rsync bezpečný pro živé webové stránky?

Ano, zejména u statických datových zdrojů. U dynamických webů (WordPress) přepněte web během závěrečných synchronizací do režimu údržby a provádějte atomickou výpis/synchronizaci databází. Pro transakční konzistenci na vytížených serverech používejte snapshoty nebo okna údržby.

Sdílet přes:

Prahlad Prajapati

Prahlad je specialista na webhosting a expert na organický růst zaměřený na SEO z Indie. V digitálním prostoru působí od roku 2019 a pomáhá lidem rozvíjet jejich webové stránky pomocí čistých a udržitelných strategií. Je nadšený pro učení a rychlou adaptaci a věří, že malé detaily vedou k velkému úspěchu. Objevte jeho poznatky o webhostingu a SEO, které vám pomohou vylepšit vaši online prezentaci.

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Přejděte na začátek