Hlavní navigace

Jednoduché zálohovanie linuxového systému pre začiatočníkov

Milan Gigel 23. 1. 2002

V praxi sa po nakonfigurovaní malých serverových systémov často zabúda na ich zálohovanie, väčšinou kvôli absencii dôležitých údajov v systéme. Treba si však uvedomiť, že po neopraviteľnom kolapse systému nám dobre urobená záloha ušetrí nemalé množstvo času pri jednoduchej možnosti obnovy systému zo zálohy a v niektorých prípadoch ušetrí čas pri tvorbe analogických serverov k serverom už v našom systéme existujúcich.

Dnes si ukážeme, ako je možné jednoduchým spôsobom bez nutnosti doinštalovávania podporného softwaru túto úlohu hravo zvládnuť na väčšine systémov, bez nejakých väčších znalostí. Postačia nám nástroje tar, gzip a scp, ktoré pre nás túto úlohu v spolupráci s cronom zabezpečia. Jedná sa však o základnú myšlienku zálohovania, ktorú je potrebné upraviť si podľa vlastných požiadaviek systému.

Celá myšlienka je založená na kompletnej archivácie diskového priestoru do archívu a následné prenesenie jeho kópie na iný server v sieti, z ktorého je možné v prípade núdze vykonať obnovu systému, jeho inštaláciu na druhý pevný disk s iným delením partícií pri migrovaní, alebo proste pri tvorbe podobného systému.

1. zálohovanie

Najprv sa treba ubezpečiť, že máme dostatok voľného miesta na danej partícii a zvolíme si adresár, do ktorého sa zálohy budú vytvárať. V našom modelovom príklade to môže byť napríklad /var/BACKUP, takže si daný adresár pripravíme. Nasleduje vytvorenie skriptu, ktorý nám zálohovanie zabezpečí. Pre možnosť použitia pre denné aj týždenné zálohovanie pri súčasnej existencii viacerých verzií zálohy budeme generovať názov výsledného súboru od aktuálneho dátumu. Pre aktuálnu zálohu bude vždy vytvorený symbolický link pre zjednodušenie detekcie aktuálnej zálohy pre účely prenosu poslednej zálohy na iný server. Skript pre naše potreby zálohovania môže vyzerať nasledovne.

#!/bin/sh
/bin/tar -zPcf /var/BACKUP/zaloha-`date +%Y-%m-%d`.tar.gz --ignore-failed-read
  --exclude proc -exclude BACKUP / > /dev/null 2>&1
rm -f /var/BACKUP/webbackup.tar.gz
ln -s /var/BACKUP/zaloha-`date +%Y-%m-%d`.tar.gz /var/BACKUP/webbackup.tar.gz

Teraz už stačí iba pripísať tento jednoduchý skript do cronu pre automatické spúšťanie buď denne alebo týždenne. Treba si však ustriehnuť voľné miesto na disku, nakoľko tento jednoduchý príklad kontrolu voľného miesta nevykonáva. Takže je na vás nepotrebné zálohy priebežne mazať.

2. migrácia zálohy na iný server

Či už si pre uskladnenie jednotlivých záloh vyhradíte samostatný stroj, alebo si proste medzi sebou budete transportovať zálohy medzi servermi, je nutné uskutočniť ich prenos. Ak sa rozhodnete vyhradiť si samostatný stroj, zálohy môžete ukladať do ľubovoľného adresára, ak sa však rozhodnete pre systém cyklického zálohovania serverov medzi sebou, je potrebné zálohy ukladať do adresára, ktorý je zo zálohovania vylúčený, ako napríklad v našom príklade /var/BACKUP. Pre jednoduchosť transportu môžeme použiť napríklad scp z balíka openssh, ktorý nám elegantne po vygenerovaní príslušných authentikačných kľúčov utilitou ssh-keygen a ich umiestnení do domovských adresárov užívateľov umožní kryptovaný prenos záloh bez potreby zadávania hesla. V našom prípade budeme zálohovať poslednú aktuálnu zálohu na vyhradený server pri použití symlinku, ktorý nám predchádzajúci skript vždy na konci vytvoril. Prenos realizujeme nasledovným skriptom, ktorý buď vložíme do cronu, alebo priamo do predchádzajúceho skriptu.

#!/bin/sh
scp /var/BACKUP/webbackup.tar.gz
 backup@zalohy.domena.sk:/home/backup/web/ -i -v

3. Obnova systému zo zálohy a migrácia na iný disk

Pre obnovu systému zo zálohy postačuje požadovaný archív na danom stroji rozbaliť priamo v koreňovom adresári, prepísať lilo zavádzač a obnova je zrealizovaná. Treba si však uvedomiť, že súbory, ktoré boli po zálohe vytvorené a v pôvodnej zálohe sa nenachádzajú na disku zostávajú. V prípade nefunkčnosti stroja postačuje na novom nainštalovať požadovanú distribúciu s minimálnym množstvom balíkov na pevný disk a po nakopírovaní archívu na nový stroj postačuje znovu previesť rozbalenie archívu príkazom, nasledovaným reštartom systému.

tar xyvf /webbackup.tar.gz

Ak sa rozhodneme týmto spôsobom premigrovať celý systém na iný pevný disk rozdelený na partície iným spôsobom, ako tomu bolo pri pôvodnom serveri, je potrebné po rozbalení systému upraviť si súbory /etc/fstab a /etc/lilo.conf s následným prepísaním lilo loaderu a systém je k dispozícii.

Osobne mi zálohovanie tohto typu pred nedávno veľmi pomohlo po absolútnom zrútení systému po výmene hardwaru, ktoré nastalo nesprávnym zápisom dát na pevný disk na novom stroji a tým sa stala väčšina dát na disku poškodená. Obnova trvala necelých 20 minút bez straty dôležitých údajov a ušetrila mnoho času pri konfigurovaní nového systému, prenášania dát a užívateľských účtov. Dúfam, že tento systém bude zaujímavý aj pre vás, ak ste doteraz žiadny spôsob zálohovania nepoužívali.

Našli jste v článku chybu?

8. 1. 2009 11:16

janj (neregistrovaný)
ztráta hardlinků se bohužel při práci s tarem stane u novějších verzí linuxu. Tento problém jsem řešil u Centosu4 rdiff-backupem. Jinak je to při obnově problém a vše se musí obnovovat ručně.

Janj

28. 1. 2002 9:24

Milan Gigel (neregistrovaný)

Jasne, ze sa tu myslelo zalohovanie malych systemov. Je jasne ze ked ma niekto nadupany server, bude ho viac ako pravdepodobne zalohovat na pasku.

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život