Příručka pro začátečníky k synchronizaci dat s Rsync

Feb 11, 2026
Soukromí a bezpečnost
NEBEZPEČNÝ OBSAH

Protokol rsync lze snadno použít pro běžné úlohy zálohování / synchronizace, ale některé jeho pokročilejší funkce vás mohou překvapit. V tomto článku si ukážeme, jak i ti největší hromaditelé dat a nadšenci zálohování mohou používat rsync jako jediné řešení pro všechny jejich potřeby redundance dat.

Upozornění: Pouze Advanced Geeks

Pokud tam sedíte a přemýšlíte „Co to sakra je rsync?“ nebo „rsync používám pouze pro opravdu jednoduché úkoly,“ možná si budete chtít přečíst náš předchozí článek o jak používat rsync k zálohování dat v systému Linux , který představuje úvod do rsync, vás provede instalací a představí jeho základní funkce. Jakmile budete mít pevný přehled o tom, jak používat rsync (upřímně řečeno, není to tak složité), a budete s terminálem Linux spokojeni, jste připraveni přejít k tomuto pokročilému průvodci.

Spuštění rsync ve Windows

Nejprve pojďme naše čtenáře Windows na stejnou stránku jako naši guru Linuxu. Ačkoli je rsync postaven pro provoz na systémech podobných Unixu, není důvod, proč byste jej neměli používat stejně snadno na Windows. Cygwin vytváří skvělé linuxové API, které můžeme použít ke spuštění rsync, takže přejděte na jejich web a stáhněte si 32-bit nebo 64-bit verze, v závislosti na vašem počítači.

Instalace je přímá; můžete ponechat všechny možnosti na jejich výchozích hodnotách, dokud se nedostanete na obrazovku „Vybrat balíčky“.

Nyní musíte udělat stejné kroky pro Vim a SSH, ale balíčky budou vypadat trochu jinak, když je vyberete, takže zde jsou některé snímky obrazovky:

Instalace Vim:

Instalace SSH:

Po výběru těchto tří balíčků pokračujte v klikání na další, dokud nedokončíte instalaci. Poté můžete Cygwin otevřít kliknutím na ikonu, kterou instalační program umístil na plochu.

Příkazy rsync: Jednoduché až pokročilé

Nyní, když jsou uživatelé systému Windows na stejné stránce, pojďme se podívat na jednoduchý příkaz rsync a ukázat, jak může použití některých pokročilých přepínačů rychle zkomplikovat.

Řekněme, že máte spoustu souborů, které je třeba zálohovat - kdo dnes nemá? Připojte svůj přenosný pevný disk, abyste mohli zálohovat soubory počítačů, a zadejte následující příkaz:

rsync -a / home / geek / soubory / / mnt / usb / soubory /

Nebo tak, jak by to vypadalo na počítači se systémem Windows s Cygwinem:

rsync -a / cygdrive / c / soubory / / cygdrive / e / soubory /

Docela jednoduché a v tomto okamžiku opravdu není nutné používat rsync, protože soubory můžete jednoduše přetáhnout. Pokud však váš druhý pevný disk již má některé soubory a potřebuje pouze aktualizované verze plus soubory, které byly vytvořeny od poslední synchronizace, je tento příkaz užitečný, protože nová data odešle pouze na pevný disk. S velkými soubory, a zejména s přenosem souborů přes internet, je to velký problém.

Zálohování souborů na externí pevný disk a následné uchování pevného disku na stejném místě jako váš počítač je velmi špatný nápad, pojďme se tedy podívat na to, co by vyžadovalo zahájení odesílání souborů přes internet do jiného počítače ( jeden, který jste si pronajali, člena rodiny atd.).

rsync -av --delete -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Výše uvedený příkaz by odeslal vaše soubory do jiného počítače s IP adresou 10.1.1.1. Odstranil by zbytečné soubory z cíle, které již ve zdrojovém adresáři neexistují, vypíše přenášené názvy souborů, abyste měli představu o tom, co se děje, a tunel rsync přes SSH na portu 12345.

The -а -в -е --делете přepínače jsou jedny z nejzákladnějších a nejčastěji používaných; pokud čtete tento návod, měli byste o nich už hodně vědět. Pojďme se podívat na některé další přepínače, které jsou někdy ignorovány, ale jsou neuvěřitelně užitečné:

--pokrok - Tento přepínač nám umožňuje sledovat průběh přenosu každého souboru. Je to obzvláště užitečné při přenosu velkých souborů přes internet, ale při přenosu malých souborů přes rychlou síť může vyprodukovat nesmyslné množství informací.

Příkaz rsync s --pokrok přepnout, protože probíhá zálohování:

--částečný - Toto je další přepínač, který je zvláště užitečný při přenosu velkých souborů přes internet. Pokud se rsync z jakéhokoli důvodu přeruší uprostřed přenosu souboru, částečně přenesený soubor se uloží do cílového adresáře a přenos se obnoví tam, kde byl přerušen, jakmile je znovu proveden příkaz rsync. Když přenášíte velké soubory přes internet (řekněme pár gigabajtů), není nic horšího, než když vám přenos souborů způsobí několiksekundový výpadek internetu, modrá obrazovka nebo lidská chyba a musíte začít znovu.

-P - tento přepínač kombinuje --pokrok a --částečný , takže použijte místo toho a váš příkaz rsync bude trochu úhlednější.

-z nebo --komprimovat - Tento přepínač způsobí, že rsync komprimuje data souboru při přenosu, čímž sníží množství dat, která musí být odeslána do cíle. Je to vlastně docela běžný přepínač, ale zdaleka není zásadní, pouze vám přináší výhody při přenosu mezi pomalými připojeními a nedělá nic pro následující typy souborů: 7z, avi, bz2, deb, g, z iso, jpeg, jpg, mov, mp3, mp4, ogg, rpm, tbz, tgz, z, zip.

-h nebo - čitelné člověkem - Pokud používáte --pokrok switch, určitě budete chtít použít i tento. To znamená, pokud nechcete za běhu převádět bajty na megabajty. The -h switch převádí všechna výstupní čísla do formátu čitelného pro člověka, takže můžete skutečně pochopit množství přenášených dat.

-n nebo - suchý běh - Tento přepínač je důležité vědět, když poprvé psáte svůj skript rsync a testujete ho. Provádí zkušební provoz, ale ve skutečnosti neprovádí žádné změny - očekávané změny jsou stále odesílány jako obvykle, takže si můžete přečíst vše a ujistit se, že to vypadá dobře, než spustíte skript do produkce.

-R nebo --relativní - Tento přepínač musí být použit, pokud cílový adresář ještě neexistuje. Tuto možnost použijeme později v této příručce, abychom mohli vytvářet adresáře na cílovém počítači s časovými značkami v názvech složek.

--exclude-from - Tento přepínač slouží k propojení seznamu vyloučených, který obsahuje cesty k adresářům, které nechcete zálohovat. Potřebuje prostý textový soubor s adresářem nebo cestou k souboru na každém řádku.

--include-from - Podobný --exclude-from , ale odkazuje na soubor, který obsahuje adresáře a cesty k souborům dat, která chcete zálohovat.

--staty - V žádném případě to není důležitý přepínač, ale pokud jste správce systému, může být užitečné znát podrobné statistiky každé zálohy, abyste mohli sledovat množství přenosu odesílaného přes vaši síť a podobně.

--log soubor - To vám umožní odeslat výstup rsync do souboru protokolu. Určitě to doporučujeme pro automatizované zálohy, ve kterých nejste tam, abyste si výstup přečetli sami. Vždy věnujte soubory protokolu ve volném čase, abyste se ujistili, že vše funguje správně. Je to také zásadní přepínač, který má sysadmin použít, takže se nemusíte divit, jak vaše zálohy selhaly, když jste nechali stážistu na starosti.

Pojďme se nyní podívat na náš příkaz rsync, když máme přidáno několik dalších přepínačů:

rsync -avzhP - smazat --stats --log-file = / home / geek / rsynclogs / backup.log --exclude-from '/home/geek/exclude.txt' -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Příkaz je stále docela jednoduchý, ale stále jsme nevytvořili slušné řešení zálohování. I když jsou naše soubory nyní ve dvou různých fyzických umístěních, tato záloha nás nijak neochrání před jednou z hlavních příčin ztráty dat: lidskou chybou.

Zálohy snímků

Pokud omylem smažete soubor, virus poškodí kterýkoli z vašich souborů nebo se stane něco jiného, ​​čímž dojde k nežádoucí změně vašich souborů, a poté spustíte záložní skript rsync, vaše zálohovaná data budou přepsána nežádoucími změnami. Když k takové věci dojde (ne pokud, ale kdy), vaše záložní řešení neudělalo nic, aby vás ochránilo před ztrátou dat.

Tvůrce rsync si to uvědomil a přidal --záloha a --záložní adresář argumenty, aby uživatelé mohli spouštět rozdílové zálohy. Velmi první příklad na webu rsync zobrazuje skript, kde se každých sedm dní spouští úplná záloha, a poté se změny těchto souborů denně zálohují v samostatných adresářích. Problém s touto metodou spočívá v tom, že při obnově souborů je musíte efektivně obnovit sedmkrát. Většina geeků navíc spouští své zálohy několikrát denně, takže můžete v daném okamžiku snadno mít více než 20 různých adresářů záloh. Nejen, že nyní obnovujete své soubory, ale i samotné prohlížení zálohovaných dat může být velmi časově náročné - musíte vědět, kdy došlo k poslední změně souboru, abyste našli jeho nejnovější zálohovanou kopii. Kromě toho je neefektivní spouštět pouze týdenní (nebo v některých případech i méně často) přírůstkové zálohy.

Snapshot zálohy na záchranu! Zálohy snímků nejsou nic jiného než přírůstkové zálohy, ale k zachování struktury souborů původního zdroje využívají pevné odkazy. To může být zpočátku těžké zabalit si hlavu, tak se podívejme na příklad.

Předstírejte, že máme spuštěný záložní skript, který každé dvě hodiny automaticky zálohuje naše data. Kdykoli to rsync provede, pojmenuje každou zálohu ve formátu: Záloha-měsíc-den-rok-čas.

Na konci typického dne bychom tedy měli v cílovém adresáři seznam složek, jako je tento:

Když procházíte některým z těchto adresářů, uvidíte každý soubor ze zdrojového adresáře přesně tak, jak byl v té době. Přesto by v žádném ze dvou adresářů nebyly žádné duplikáty. rsync toho dosahuje pomocí hardlinkingu přes --link-dest = DIR argument.

Samozřejmě, abychom měli tyto pěkně a úhledně pojmenované názvy adresářů, budeme muset trochu vylepšit náš skript rsync. Pojďme se podívat na to, co by bylo potřeba k vytvoření záložního řešení, jako je toto, a pak vysvětlíme skript podrobněji:

#! / Bin / Bash

# copy old time.txt to time2.txt

ano | cp ~ / backup / time.txt ~ / backup / time2.txt

#overwrite starý soubor time.txt s novým časem

echo `date +”% F-% I% p ”> ~ / backup / time.txt

# vytvořte soubor protokolu

echo “”> ~ / backup / rsync-`date + ”% F-% I% p” “log

#rsync příkaz

rsync -avzhPR --chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r --delete --stats --log-file = ~ / backup / rsync-`date + ”% F-% I% p "" .log --exclude-from '~ / exclude.txt' --link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt` -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files / `date +”% F-% I% p ”“ /

# nezapomeňte scp soubor protokolu a dát jej se zálohou

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

To by byl typický snímek rsync skriptu. V případě, že jsme vás někde ztratili, pojďme to rozebrat kousek po kousku:

První řádek našeho skriptu kopíruje obsah time.txt do time2.txt. Potrubí Ano má potvrdit, že chceme soubor přepsat. Dále vezmeme aktuální čas a dáme ho do time.txt. Tyto soubory se budou hodit později.

Další řádek vytvoří soubor protokolu rsync a pojmenuje jej rsync-date.log (kde date je skutečné datum a čas).

Komplexní příkaz rsync, na který jsme vás varovali:

-avzhPR, -e, --delete, --stats, --log-file, --exclude-from, --link-dest - Jen přepínače, o kterých jsme mluvili dříve; přejděte nahoru, pokud potřebujete aktualizaci.

--- ch je také d = zu = rwx, D go = rx, fu = rw, F go = r - Toto jsou oprávnění pro cílový adresář. Protože tento adresář vytváříme uprostřed našeho skriptu rsync, musíme určit oprávnění, aby do něj mohl náš uživatel zapisovat soubory.

Použití příkazů data a kočky

Projdeme každé použití příkazů date a cat uvnitř příkazu rsync v pořadí, v jakém se vyskytují. Poznámka: Jsme si vědomi, že této funkce lze dosáhnout i jinými způsoby, zejména s využitím deklarace proměnných, ale pro účely této příručky jsme se rozhodli tuto metodu použít.

Soubor protokolu je zadán jako:

~ / backup / rsync-`date + ”% F-% I% p” .log

Alternativně jsme jej mohli zadat jako:

~ / backup / rsync-`cat ~ / backup / time.txt`.log

Ať tak či onak, --log soubor příkaz by měl být schopen najít dříve vytvořený datový soubor s datem a zapsat do něj.

Cílový soubor odkazu je určen jako:

--link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt`

To znamená, že --link-dest příkaz dostane adresář předchozí zálohy. Pokud provádíme zálohy každé dvě hodiny a v době, kdy jsme spustili tento skript, je 16:00, pak --link-dest příkaz vyhledá adresář vytvořený ve 14:00 a přenese pouze data, která se od té doby změnila (pokud existují).

Znovu opakuji, proto je time.txt zkopírován do time2.txt na začátku skriptu, takže --link-dest příkaz může odkazovat na tento čas později.

Cílový adresář je zadán jako:

[email protected]: / home / geek2 / soubory / `datum +”% F-% I% p ““

Tento příkaz jednoduše umístí zdrojové soubory do adresáře, který má název aktuálního data a času.

Nakonec zajistíme, aby byla kopie souboru protokolu umístěna uvnitř zálohy.

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

Pro převzetí protokolu rsync a jeho umístění do správného adresáře používáme zabezpečenou kopii na portu 12345. Chcete-li vybrat správný soubor protokolu a ujistit se, že končí na správném místě, je třeba na soubor time.txt odkazovat pomocí příkazu cat. Pokud vás zajímá, proč jsme se rozhodli cat time.txt namísto pouhého použití příkazu date, je to proto, že během běhu příkazu rsync se mohlo objevit mnoho času, takže se ujistěte, že máme správný čas, stačí textový dokument, který jsme vytvořili dříve.

Automatizace

Použití Cron na Linuxu nebo Plánovač úloh ve Windows automatizovat skript rsync. Jedna věc, na kterou musíte být opatrní, je ujistit se, že ukončíte všechny aktuálně spuštěné procesy rsync, než budete pokračovat v novém. Zdá se, že Plánovač úloh automaticky zavírá všechny již spuštěné instance, ale pro Linux budete muset být trochu kreativnější.

Většina linuxových distribucí může používat příkaz pkill, takže na začátek skriptu rsync přidejte následující:

pkill -9 rsync

Šifrování

Ne, ještě jsme neskončili. Konečně máme zavedeno fantastické (a zdarma!) Zálohovací řešení, ale všechny naše soubory jsou stále náchylné ke krádeži. Doufejme, že zálohujete své soubory na nějaké místo vzdálené stovky mil. Bez ohledu na to, jak je toto vzdálené místo bezpečné, krádež a hackerství mohou být vždy problémy.

V našich příkladech jsme tunelovali veškerý náš rsync provoz přes SSH, takže to znamená, že všechny naše soubory jsou šifrovány během přenosu na místo určení. Musíme se však ujistit, že cíl je stejně bezpečný. Pamatujte, že rsync šifruje vaše data pouze při přenosu, ale soubory jsou dokořán, jakmile dosáhnou svého cíle.

Jednou z nejlepších funkcí rsync je, že přenáší pouze změny v každém souboru. Pokud máte všechny své soubory zašifrované a provedete jednu menší změnu, bude nutné znovu odeslat celý soubor v důsledku šifrování, které po jakékoli změně zcela náhodně odebere všechna data.

Z tohoto důvodu je nejlepší / nejjednodušší použít nějaký typ šifrování disku, například BitLocker pro Windows nebo dm-krypta pro Linux. Tímto způsobem jsou vaše data chráněna v případě krádeže, ale soubory lze přenášet pomocí rsync a vaše šifrování nebude bránit jeho výkonu. K dispozici jsou další možnosti, které fungují podobně jako rsync, nebo dokonce implementují nějakou jeho formu, například Duplicity, ale chybí jim některé funkce, které rsync nabízí.

Poté, co nastavíte zálohy snímků na místě mimo pracoviště a zašifrujete zdrojové a cílové pevné disky, dejte si poplácat po zádech za zvládnutí rsync a implementaci nejspolehlivějšího možného řešení pro zálohování dat.

.vstupní obsah .vstup do zápatí

How To Automatically Backup Data On Linux Using "rsync"

Ubuntu Server 18.04 Administration Guide Part 14 - Transferring Files With Rsync

Rsync For Windows 10

How To Backup And Encrypt Data Using Rsync And VeraCrypt On MacOS (see Change Log)

Rsync Backup On Linux

How To Copy & Transfer Data From Netgear ReadyNAS To Another NAS [Backup Using RSync]


Soukromí a bezpečnost - Nejoblíbenější články

Jak povolit novou ochranu složek OneDrive společnosti Microsoft v systému Windows

Soukromí a bezpečnost Aug 27, 2025

Microsoft OneDrive nyní nabízí „ochranu“ obsahu složek na ploše, v dokumentech a obrázcích. Můžete použít standardní složky pro ukládání souborů a OneDrive je s..


Jak rychle odstranit spoustu starých příspěvků na Facebooku

Soukromí a bezpečnost Mar 23, 2026

NEBEZPEČNÝ OBSAH Je to dost snadné smazat jeden příspěvek na Facebooku najednou , ale neexistuje žádný zabudovaný způsob hromadného mazání příspěvk..


Jak stahovat videa z vašeho SkyBell HD

Soukromí a bezpečnost Oct 25, 2025

SkyBell HD uchovává všechna vaše nejnovější zaznamenaná videa uložená v cloudu až pro 20 videí najednou. Pokud se váš zvonek používá hodně, může to jít rychle, ..


Jak nainstalovat a nastavit domácí bezpečnostní systém Abode

Soukromí a bezpečnost Jul 5, 2025

NEBEZPEČNÝ OBSAH Zatímco některé smarthome rozbočovače jako Wink a SmartThings umět Abode, který se používá pro zabezpečení domácnosti, v..


Jak nakonfigurovat proxy server na Chromebooku

Soukromí a bezpečnost Feb 17, 2026

NEBEZPEČNÝ OBSAH Chromebooky, Chromeboxe a další zařízení se systémem Chrome OS umožňují nastavit server proxy, přes který můžete směrovat svůj přenos. To může..


Jak nastavit centrum Insteon (a začít přidávat zařízení)

Soukromí a bezpečnost Feb 3, 2026

NEBEZPEČNÝ OBSAH Insteon je jednou z nejpopulárnějších - a pravděpodobně nejsilnějších - řad produktů smarthome. Pokud s Insteonem teprve začínáte, mů..


Z pole Tipy: Algoritmy osobního hesla, vykreslování písem v systému Linux / Mac ve Windows a AudioManager pro Android

Soukromí a bezpečnost Aug 4, 2025

NEBEZPEČNÝ OBSAH Jednou týdně se ponoříme do pole tipů a sdílíme některé drahokamy, které tam najdeme. Tento týden se zabýváme tím, jak snadno generovat zabezpeče..


ThreatFire poskytuje ochranu proti malwaru a útokům nulového dne

Soukromí a bezpečnost Sep 1, 2025

NEBEZPEČNÝ OBSAH Nezbytným postupem zabezpečení je instalace antivirových a jiných nástrojů na ochranu před malwarem do počítače se systémem Windows, ale aby byly účinné pr..


Kategorie