Rsync pro Linux: synchronizace, kopírování a zálohování souborů
9 min čtení - 24. května 2025

Jak používat rsync v Linuxu pro inkrementální přenosy, vzdálenou synchronizaci přes SSH, plánované zálohování pomocí cronu a jak se vyhnout pasti trailing-slash.
Rsync pro Linux: jak synchronizovat, kopírovat a zálohovat soubory jako profesionál
Rsync je standardní nástroj pro kopírování souborů mezi systémy Linux. Je rychlejší než cp nebo scp pro cokoli, co spouštíte více než jednou, zotavuje se z výpadků sítě a přenáší pouze to, co se skutečně změnilo. Tento příspěvek se zabývá tím, co rsync dělá, příznaky, které stojí za to znát, příklady, ke kterým se budete nejčastěji vracet, a jak jej naplánovat pomocí cronu.
Co je rsync?
Rsync je nástroj příkazového řádku pro kopírování a synchronizaci souborů mezi umístěními. Funguje lokálně, přes SSH na vzdálený hostitel nebo proti démonu rsync. Klíčový rozdíl od cp nebo scp: rsync nejprve porovná zdroj a cíl a poté přenese pouze rozdíly. V 100 GB adresáři, kde se změnilo 200 MB, rsync přesune 200 MB. cp a scp přenese vše.
Je součástí každé moderní distribuce Linuxu. Pokud chybí: apt install rsync nebo dnf install rsync.
Proč používat rsync místo cp nebo scp
Tři důvody, proč rsync vítězí u jakéhokoli netriviálního kopírování:
- Je inkrementální. Následující běhy přenášejí pouze změněné bajty, nikoli celé soubory. U záloh a zrcadel to znamená, že úloha, která dříve trvala celou noc, nyní zabere jen pár minut.
- Zvládá přerušení. S
--partialse přenos 50 GB souboru, který byl přenesen z poloviny, obnoví tam, kde byl přerušen, místo aby začínal znovu. - Zachovává metadata. Režim archivu (
-a) zachovává oprávnění, vlastnictví, symbolické odkazy a časová razítka. To je zásadní pro systémové soubory, stromy zdrojových kódů a vše, kde na atributech záleží.
Pro jednorázové kopírování malých souborů scp je v pořádku. Pro cokoli, co se opakuje, cokoli náročného na šířku pásma nebo cokoli, co budete možná potřebovat obnovit, použijte rsync.
Běžné příznaky rsync
Příkazy, které budete skutečně používat:
| Příkaz | Co dělá |
|---|---|
-a | Režim archivace. Zachovává oprávnění, vlastnictví, symbolické odkazy a časová razítka. Ekvivalentní k -rlptgoD. |
-v | Verbose. Vypisuje soubory, které se přenášejí. |
-z | Komprimovat při přenosu. Užitečné u pomalých nebo drahých připojení, méně užitečné v LAN nebo u již komprimovaného obsahu. |
-P | Kombinuje --partial a --progress. Obnoví přerušené přenosy, zobrazí průběh v reálném čase. |
--delete | Odstraní soubory v cíli, které neexistují ve zdroji. Nutné pro skutečné zrcadlení. |
--exclude | Přeskočí soubory odpovídající vzoru. |
--exclude-from=FILE | Načíst vzorce pro vyloučení ze souboru. Čistší než řetězení mnoha --exclude příkazů. |
--dry-run | Zobrazit, co by se stalo, kdyby se nic nepřesouvalo. |
--bwlimit=KBPS | Omezit využití šířky pásma v kilobajtech za sekundu. Užitečné pro zálohy, které běží během pracovní doby. |
--checksum | Porovnávejte soubory podle kontrolního součtu namísto velikosti a času úpravy. Je to pomalejší, ale zachytí i okrajové případy. |
-e ssh | Použijte SSH pro přenos. Implicitní u většiny moderních instalací. |
Výchozí chování porovnává velikost souboru a čas úpravy, což je rychlé a téměř vždy správné. Přepněte na --checksum , pokud proces nasazení přepíše časová razítka bez změny obsahu, nebo pokud máte podezření na poškození na úrovni bitů.
Příklady Rsync
Zkopírujte adresář lokálně:
rsync -av /source/path/ /destination/path/Synchronizace se vzdáleným serverem přes SSH:
rsync -avz /local/dir/ user@remote:/remote/dir/Zkušební běh před provedením jakýchkoli destruktivních změn:
rsync -avz --dry-run /local/dir/ user@remote:/dir/Zrcadlení dvou adresářů, včetně odstranění na cílovém místě:
rsync -av --delete /source/ /destination/Vyloučení protokolů a dočasného adresáře:
rsync -av --exclude='*.log' --exclude='tmp/' /src/ /dest/Obnovte velký přenos, který by mohl být přerušen:
rsync -avP user@remote:/backups/big.img /local/Pokud dojde k přerušení relace SSH, spusťte stejný příkaz znovu. S -Prsync pokračuje tam, kde přestal, místo aby začínal od nuly.
Omezte šířku pásma na 50 MB/s pro zálohování mimo špičku, aby nedošlo k zahlcení uplinku:
rsync -avz --bwlimit=50000 /local/dir/ user@remote:/dir/Záludnost koncové lomítka
Nejčastější chyba při používání rsync:
rsync -av /source /destination/ # copies the 'source' directory INTO /destination
rsync -av /source/ /destination/ # copies the CONTENTS of /source into /destinationZávěrečná lomítka u zdroje znamená „vše v tomto adresáři“. Žádná závěrečná lomítka znamená „samotný tento adresář“. Spusťte nejprve s --dry-run prvním, pokud si nejste jisti, zejména v kombinaci s --delete.
Automatizace rsync pomocí cron
Pro plánované zálohy potřebujete tři věci:
Přístup k cílovému serveru přes SSH bez hesla. Úlohy cron nemohou zadávat hesla. Vygenerujte klíč a zkopírujte jej na záložní hostitel:
ssh-keygen -t ed25519 ssh-copy-id user@backup-hostSkript, ne jednorádkový příkaz v crontabu. Snadnější testování, snadnější protokolování:
#!/bin/bash LOG=/var/log/rsync-backup.log rsync -az --delete /etc/ user@backup:/backups/$(hostname)/etc/ >> "$LOG" 2>&1Učiňte jej spustitelným pomocí
chmod +x.Zápis v cronu pro jeho spuštění. Upravte pomocí
crontab -e:0 2 * * * /usr/local/bin/rsync-backup.shTo spustí skript každou noc ve 02:00.
Dvě vylepšení, která stojí za to provést v produkčním prostředí: obalte skript do flock , aby se dlouhodobě běžící úloha nepřekrývala s příštím nočním spuštěním, a přesměrujte výstup přes logger , aby se chyby dostaly do systémového deníku, kde je může zachytit monitorování.
Závěrečné myšlenky
Rsync je jedním z mála nástrojů pro Linux, u kterého se čas strávený studiem příznaků vyplatí téměř okamžitě. Hlavní body:
- Díky inkrementálním přenosům a podpoře obnovení je rsync správnou volbou pro vše, co spouštíte více než jednou
-apro režim archivace,-zpro kompresi,-Ppro obnovení a sledování průběhu,--deletepro skutečné zrcadlení- Dávejte pozor na koncovou lomítku v cestě ke zdroji, zejména u
--delete - Spárujte jej s cronem a SSH klíči pro automatické plánované zálohy
U velkých zálohovacích úloh, které přesouvají data mezi zařízeními, znamená spuštění rsync na VPS s neomezenou šířkou pásma, že zálohovací okna nejsou omezena limity přenosu.

Jak hostovat modely Ollama AI na dedikovaných serverech
Zjistěte, jak hostovat modely Ollama AI na dedikovaných serverech, abyste zajistili bezpečnost dat, škálovatelnost a zvýšili výkon.
5 min čtení - 8. září 2025

Máte dotazy nebo potřebujete vlastní řešení?
Flexibilní možnosti
Globální dosah
Okamžité nasazení
Flexibilní možnosti
Globální dosah
Okamžité nasazení