Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: arrange 10 Května 2009, 13:35:48
-
Podařilo se mi pořešit zálohování celého systému včetně dat pomocí rsync. Třeba se to někomu bude hodit. Náměty vítány :) (mám to vyzkoušené jen u sebe)
Výhody:
- používá se rsync, který je schopen synchronizovat rychle a i vzdáleně;
- možno zálohovat z běžícího systému; systém i data;
- bezpečné; pokud nepopletu zdroj a cíl, nemělo by to mít na zdroj žádný vliv - také možno nejdřív vyzkoušet nanečisto pomocí přepínače --dry-run;
- v případě problému stačí restartovat a přihlásit se do zálohy.
Nevýhody:
- je potřeba vytvořit zvlášť oddíl pro zálohu;
- trochu umět psát do skriptu, umět editovat menu.lst apod.
Tak jdeme na to.
První záloha:
1. Vytvoříme si na HDD oddíl pro zálohu, třeba pomocí Správce oddílů/GParted, a pojmenujeme jej např. zaloha.
2. Připojíme jej, a spustíme jako root (po úpravě - viz níže) skript ZalohujSystem
3. Zkopírujeme soubor fstab sudo cp /etc/fstab /etc/fstab_zaloha
sudo cp /etc/fstab /media/zaloha/etc/fstab
a /media/zaloha/etc/fstab upravíme tak, aby připojoval kořenový adresář k oddílu zaloha.
4. Po synchronizaci vytvoříme v novém oddíle připojeném jako /media/zaloha nutné adresáře a dáme jim práva, a dále linky na cdrom a floppysudo -i
mkdir media mnt proc sys tmp
chmod 1777 tmp/
chmod 555 proc/
cd /media
mkdir cdrom0 floppy0
ln -s cdrom0 cdrom
ln -s floppy0 floppy
5. Přidáme do menu.lst odkaz na naši zálohu, třeba takto:title BACKUP ("zaloha") na (1,1)=sdb2
root (hd1,1)
kernel /vmlinuz root=/dev/sdb2 ro
initrd /initrd.img
quiet
(hd1,1) a sdb2 si samozřejmě musíte upravit podle své situace. Dobré je tuto část dát POD řádek s ### END DEBIAN AUTOMAGIC KERNELS LIST
aby nám do toho update-grub nezasahoval.
Všechny další zálohy:
Stačí připojit oddíl zaloha a spustit skript. Možno dát do cronu.
Část skriptu s poznámkami:
# Kopírujeme kořenový adresář ("z") do /media/zaloha ("do")
z=/
do=/media/zaloha/
rsync \
--verbose \ # bude HODNĚ ukecaný, při první záloze to může být přes 100 000 řádků!
# možno vypnout anebo spouštět třeba jako sudo ./ZalohujSystem &> /tmp/RsyncDebug
--recursive \ # samozřejmě rekurzivně
--links \ # několik řádků s tím, co má všechno zachovat (snaha o maximum vlastností)
--hard-links \
--perms \
--owner \
--group \
--devices \
--specials \
--times \
--xattrs \
--acls \
--human-readable \
--delete \ # co vymažu v originále, ať se vymaže i v kopii
--exclude=/home/*/.gvfs \ # co nesynchronizovat
--exclude=/home/*/.mozilla/firefox/*/Cache \
--exclude=/home/*/.thumbnails \ # náhledy obrázků atd. nejsou třeba, vygenerují se příp. znovu
--exclude=/media \
--exclude=/mnt \
--exclude=/proc \
--exclude=/sys \
--exclude=/tmp \
--exclude=/home/*/.local/share/Trash \ # koš taky nee
--exclude=~/data/filmy \ # nezálohuji filmy apod., ty mám už jinde, nutno upravit podle sebe
--exclude=~/data/gpodder \
--exclude=~/data/hudba \
--exclude=/home/*/.opera/cache4 \
--exclude=/etc/fstab \ # fstab nezálohovat!
--exclude=/var/run \ # násl. dva adresáře jsou stejně mazány při bootu
--exclude=/var/lock \
--exclude=/lib/modules/*/volatile/.mounted \ # "lock", který pak generuje (ale nefatální) chyby - lépe bez něj
$z $do
[attachment deleted by admin]
-
A mohol by si sem dat aj navod na obnovu ?
-
- v případě problému stačí restartovat a přihlásit se do zálohy.
:)
Jinak pokud chceš dát vše zpátky na původní oddíl, použiješ úplně stejný skript, akorát spuštěný ze zálohy, a do proměnné do dáš cestu k původnímu oddílu, např. do=/media/disk
Jediný problém je pak s fstab, který je potřeba vygenerovat znova pro pův. systém, příp. zkopírovat ze zálohy fstabu, pokud ji máš.