27Jun

Jak používat rsync k zálohování dat v systému Linux

click fraud protection

prapor

rsync je protokol postavený pro systémy Unix, které poskytují neuvěřitelnou všestrannost pro zálohování a synchronizaci dat. Může být použita místně pro zálohování souborů do různých adresářů nebo může být nakonfigurována pro synchronizaci přes internet s jinými hostiteli.

Může být použit v systémech Windows, ale je k dispozici pouze prostřednictvím různých portů( např. Cygwin), takže v této práci budeme mluvit o nastavení systému Linux. Nejprve musíme klienta rsync nainstalovat / aktualizovat. V distribucích Red Hat je příkaz "yum install rsync" a na Debianu je "sudo apt-get install rsync".

rsync1
Příkaz na Red Hat / CentOS po přihlášení jako root( všimněte si, že některé nedávné distribuce Red Hatpodporuje metodu sudo).

rsync4
Příkaz na Debianu / Ubuntu.

Použití rsync pro lokální zálohování

V první části tohoto tutoriálu zálohujeme soubory z adresáře 1 do adresáře2.Oba tyto adresáře jsou na stejném pevném disku, ale to by fungovalo přesně stejně, kdyby existovaly adresáře na dvou různých discích. Existuje několik různých způsobů, jak se k tomu dostat, v závislosti na typu záloh, které chcete konfigurovat. Pro většinu účelů postačí následující řádek kódu:

instagram viewer

$ rsync -av --delete /Directory1/ /Directory2/

Výše ​​uvedený kód bude synchronizovat obsah adresáře1 s adresářem2 a nezůstane žádný rozdíl mezi těmito dvěma. Pokud rsync zjistí, že adresář Directory2 nemá soubor, který Directory1 nemá, odstraní jej. Pokud rsync najde soubor, který byl změněn, vytvořen nebo smazán v adresáři 1, odráží stejné změny adresáře2.

Existuje spousta různých přepínačů, které můžete použít pro rsync a přizpůsobit je vašim specifickým potřebám. Zde je to, co výše uvedený kód říká rsync, že ​​má zálohovat:

1. -a = rekurzivní( recurse do adresářů), odkazy( kopírování symbolických symbolů jako symbolických odkazů), perms( zachovat oprávnění), časyzachovat skupinu), vlastník( zachovat vlastníka), zachovat soubory zařízení a zachovat speciální soubory.
2. -v = verbose. Důvod, proč myslím, že je podrobnější, je tak, abyste viděli přesně to, co rsync zálohuje. Přemýšlejte o tom: Co když se váš pevný disk zhorší, a spustí mazání souborů bez vašeho vědomí, pak spustíte skript rsync a tyto změny dojde k zálohování, čímž odstraníte všechny instance souboru, který jste nechtěli získatzbavit se?
3. -delete = Toto informuje rsync, že ​​odstraní všechny soubory, které jsou v adresáři 2, které nejsou v adresáři1.Pokud se rozhodnete použít tuto možnost, doporučuji použít také zřetelné možnosti z výše uvedených důvodů.

Pomocí výše uvedeného skriptu je zde výstup generovaný pomocí rsync pro zálohování adresáře1 do adresáře2.Mějte na paměti, že bez podrobného přepínače byste neobdrželi takové podrobné informace.

rsync2

Výše ​​uvedená obrazovka nám říká, že soubory File1.txt a File2.jpg byly zjištěny buď jako nové, nebo jinak změněné z kopií existujících v adresáři2, a proto byly zálohovány. Tip Noob: Všimněte si, že na konci adresářů v mém příkazu rsync upozorňuji, že trailing lomítka jsou - jsou to nezbytné, nezapomeňte si je pamatovat.

Přejdeme na pár dalších šikovných přepínačů ke konci tohoto tutoriálu, ale nezapomeňte, že pro zobrazení úplného zápisu můžete zadat "man rsync" a zobrazit kompletní seznam přepínačů, které chcete použít.

To asi pokrývá to pokud jde o lokální zálohy. Jak můžete říci, rsync je velmi snadné použití.Když je používáte k synchronizaci dat s externím hostitelem přes Internet, získává se to poněkud složitější, ale ukážeme vám jednoduchý, rychlý a bezpečný způsob, jak to udělat.

Použití rsync pro externí zálohování

rsync může být nakonfigurován několika externími zálohami několika různými způsoby, ale my přecházíme na nejpraktičtější( nejjednodušší a nejbezpečnější) metodu tunelování rsync přes SSH.Většina serverů a dokonce mnoho klientů již má SSH a může být použito pro vaše zálohy rsync. Ukážeme vám proces získání jednoho zařízení Linux k zálohování v lokální síti. Proces by byl přesně stejný, kdyby někde byli někteří hostitelé na internetu, stačí poznamenat, že port 22( nebo jakýkoli port, na kterém máte SSH nakonfigurován) by musel být předán na jakémkoli síťovém zařízení na straně serveru věcí.

Na serveru( počítač, který bude přijímat zálohy) se ujistěte, že jsou nainstalovány SSH a rsync.

# yum -y instalace ssh rsync

# sudo apt-get instalace ssh rsync

Kromě instalace SSH a rsync na serveru je potřeba udělat vše, co je třeba udělat, je nastavit repozitáře na serveru, kde chcete zálohované souborynahoru a ujistěte se, že SSH je uzamčena. Ujistěte se, že uživatel, který hodláte používat, má složité heslo a může být také dobré přepnout port, který SSH naslouchá( výchozí je 22).

Spustíme stejný příkaz, jaký jsme použili pro použití rsync v místním počítači, ale obsahovali nezbytné doplňky pro tunelování rsync přes SSH na server v místní síti. Pro uživatele "geek" připojením k "192.168.235.137" a pomocí stejných přepínačů jako výše( -av -delete) spustíme následující:

$ rsync -av -delete -e ssh /Directory1/ [email protected]: /Directory2/

Pokudmáte SSH naslouchání na jiném portu než 22, je třeba zadat číslo portu, například v tomto příkladu, kde používám port 12345:

$ rsync -av -delete -e 'ssh -p 12345' /Directory1/ [email protected]: /Directory2/

rsync3

Jak je vidět z výše uvedeného obrázku, výstup, který jste zadali při zálohování v síti, je téměř stejný jako při zálohování lokálně, jediná změna je příkaz, který používáte. Všimněte si také, že se zobrazí výzva k zadání hesla. Toto je pro autentizaci pomocí SSH.K tomuto kroku můžete nastavit klávesy RSA, což také zjednoduší automatizaci rsync.

Automatizace záloh rsync

Cron může být použit v Linuxu pro automatizaci provádění příkazů, jako je rsync. Pomocí Cronu můžeme náš systém Linux provozovat noční zálohy, nebo často byste chtěli, aby běhali.

Chcete-li upravit soubor tabulky cron pro uživatele, který jste přihlášeni jako, spusťte:

$ crontab -e

Pro úpravu tohoto souboru budete potřebovat znát vi. Zadejte "I" pro vložení a poté začněte upravovat soubor tabulky cron.

Cron používá následující syntaxi: minutová hodina, hodina dne, den v měsíci, měsíc roku, den v týdnu, povel.

Může to být nejprve trochu matoucí, a tak mi dovolte ukázat. Následující příkaz spustí příkaz rsync každou noc v 10 hodin:

0 22 * ​​* * rsync -av --delete /Directory1/ /Directory2/

První "0" určuje minutu hodiny a "22" určuje 10 PM.Protože chceme, aby byl tento příkaz spuštěn denně, zanecháme zbytek polí s hvězdičkami a pak vložíme příkaz rsync.

Po dokončení konfigurace Cronu stiskněte klávesu escape a zadejte příkaz ": wq"( bez uvozovek) a stiskněte klávesu enter. Tím se vaše změny uloží do vi.

Cron se může dostat mnohem více do hloubky než tohle, ale jít dál by to bylo mimo rozsah tohoto tutoriálu. Většina lidí bude chtít jen jednoduché týdenní nebo denní zálohování a to, co jsme ukázali, můžete snadno dosáhnout toho. Další informace o Cronu naleznete na stránkách mana.

Další užitečné funkce

Další užitečná věc, kterou můžete udělat, je umístit zálohy do souboru ZIP.Budete muset specifikovat, kam chcete zip soubor umístit, a potom rsync tento adresář do záložního adresáře. Například:

$ zip /ZippedFiles/ archiv.zip /Directory1/ &rsync -av --delete /ZippedFiles/ /Directory2/

rsync5

Výše ​​uvedený příkaz přebírá soubory z adresáře1, umístí je do souboru /ZippedFiles/ archive.zip a potom rsyncs tento adresář do adresáře2.Zpočátku si možná myslíte, že by se tato metoda ukázala jako neúčinná pro velké zálohy, jelikož soubor zip se bude měnit při každé nejmenší změně souboru. Rsync však přenáší pouze změněné údaje, takže pokud je váš soubor zip 10 GB a potom přidáte textový soubor do adresáře Directory1, rsync bude vědět, že vše, co jste přidali( i když je v zipu), a přenášet pouze několik kilobajtůzměněných dat.

Existuje několik různých způsobů, jak šifrovat vaše zálohy rsync. Nejjednodušší metodou je instalace šifrování na samotný pevný disk( ten, na který jsou vaše soubory zálohovány).Další možností je šifrování souborů před jejich odesláním na vzdálený server( nebo jiný pevný disk, bez ohledu na to, do čeho se zálohujete).Tyto metody pokryjeme v pozdějších článcích.

Jakékoli možnosti a funkce, které si vyberete, se rsync dokáže stát jedním z nejúčinnějších a nejrozmanitějších nástrojů pro zálohování dat a dokonce i jednoduchý skript rsync vám může ušetřit ztrátu dat.