Difference between revisions of "Full system backup with rsync (Česky)"

From ArchWiki
Jump to: navigation, search
(Přeložena velká část)
 
(Korektura)
Line 5: Line 5:
 
Tento postup má výhody před pouhým zkopírovaním osobních dat s vynechávním systémových souborů. Pokud se systém nějak poruší na hlavním oddílu, překonání problému znamená nabootování ze zálohy v porovnání s identifikací a reinstalací postižených programů.
 
Tento postup má výhody před pouhým zkopírovaním osobních dat s vynechávním systémových souborů. Pokud se systém nějak poruší na hlavním oddílu, překonání problému znamená nabootování ze zálohy v porovnání s identifikací a reinstalací postižených programů.
  
Instrukce byly převzaty z [http://bbs.archlinux.org/viewtopic.php?id=83071 z toho přízpvěvku ve fóru].
+
Instrukce byly převzaty z [http://bbs.archlinux.org/viewtopic.php?id=83071 z toho přízpěvku ve fóru].
  
 
==Soubory==
 
==Soubory==
Line 13: Line 13:
 
Tento skript je velmi jednoduchý; používá rsync v archivním režimu, přičemž je zajištěno, že symbolické odkazy, zařízení, práva a vlastnictví aj. jsou zachovány. Vyloučeny jsou soubory odpovídající vzorům ze seznamu co zahrnout/co vyloučit.
 
Tento skript je velmi jednoduchý; používá rsync v archivním režimu, přičemž je zajištěno, že symbolické odkazy, zařízení, práva a vlastnictví aj. jsou zachovány. Vyloučeny jsou soubory odpovídající vzorům ze seznamu co zahrnout/co vyloučit.
  
Uložte ho {{filename|rbackup.sh}} a nastvte mu atribut spustitelnosti:
+
Uložte ho jako {{filename|rbackup.sh}} a nastvte mu atribut spustitelnosti:
 
{{file|name=rbackup.sh|content=
 
{{file|name=rbackup.sh|content=
 
#!/bin/sh
 
#!/bin/sh
Line 34: Line 34:
  
 
===Seznam toho, co zahrnout/nezahrnout===
 
===Seznam toho, co zahrnout/nezahrnout===
Jeliž může být obtížné určit, které soubory soubory budou v tomto seznamu, uvádím zde typický zálohovací příklad, který nezahrnuje běžné soubory, které nejsou třeba zázálohovat, jako většina {{filename|/dev}}. Poznámka: specifikace každého žádaného souboru nebo adresáře v {{codeline|Include}} není třeba; tato sekce pouze slouží jako filter pro specifikaci {{codeline|Exclude}}. Tento soubor je tradičně ve formátu co zahrnout/co nezahrnout programu rsync.
+
Jelikož může být obtížné určit, které soubory budou v tomto seznamu, uvádím zde typický zálohovací příklad, který nezahrnuje běžné soubory, které nejsou třeba zázálohovat, jako většina {{filename|/dev}}. Poznámka: specifikace každého žádaného souboru nebo adresáře v {{codeline|Include}} není třeba; tato sekce pouze slouží jako filter pro specifikaci {{codeline|Exclude}}. Tento soubor je tradičně ve formátu co zahrnout/co nezahrnout programu rsync.
  
 
Uložte následující jako {{filename|backup.lst}}:
 
Uložte následující jako {{filename|backup.lst}}:
Line 53: Line 53:
 
}}
 
}}
  
;Vyloučit: Obsah v systémových adresářích; {{filename|/dev}}, {{filename|/proc}}, {{filename|/sys}} a {{filename|/tmp}} jsou vyloučeny, protože jsou vytvářeny systémem při startu, zatímco adresáře je třeba zachovat, jelikož ''nejsou'' vytvářeny při startu. Nakonec, všechny {{filename|lost+found}} instance jsou vynechány, protože jsou specifické pro oddíl. Pro Archlinux {{filename|/var/lib/pacman/sync/*}} mohou být rozvněž vynechány. To může ušetřit dost času při každém zálohování, jelikož adresář obsahuje hodně malých souborů, které mají tendenci se často měnit. Toto jsou "popisovací" soubory pro každý balíček z repozitářů. Tyto soubory lze vygenerovat znovu pomocí {{filename|pacman -Syu}}.
+
;Vyloučit: Obsah systémových adresářů; {{filename|/dev}}, {{filename|/proc}}, {{filename|/sys}} a {{filename|/tmp}} je vyloučen, protože je vytvářen systémem při startu, zatímco tyto adresáře je třeba zachovat, jelikož ''nejsou'' vytvářeny při startu. Nakonec, všechny {{filename|lost+found}} instance jsou vynechány, protože jsou specifické pro oddíl. Pro Archlinux {{filename|/var/lib/pacman/sync/*}} mohou být rovněž vynechány. To může ušetřit dost času při každém zálohování, jelikož adresář obsahuje hodně malých souborů, které mají tendenci se často měnit. Toto jsou "popisovací" soubory pro každý balíček z repozitářů. Tyto soubory lze vygenerovat znovu pomocí {{filename|pacman -Syu}}.
  
 
{{Warning|nezapomeňte rovněž vynechat připojený adresář, kam budete zálohovat, vyvarujete se tak nekonečné smyčky (v tomto příkladu {{filename|'''/media/backup/'''}}.}}
 
{{Warning|nezapomeňte rovněž vynechat připojený adresář, kam budete zálohovat, vyvarujete se tak nekonečné smyčky (v tomto příkladu {{filename|'''/media/backup/'''}}.}}
Line 68: Line 68:
  
 
==Nastavení bootování==
 
==Nastavení bootování==
Poté co synchronizace skončila, cílový {{filename|/etc/fstab}} je třeba upravit, musí být nainstalován boot manažer v cíli zálohy. Konfigurace cílového {{filename|/boot/grub/menu.lst}} je vyžadována, aby bylo reflektováno nové umístění.
+
Poté co synchronizace skončila, cílový {{filename|/etc/fstab}} je třeba upravit a musí být nainstalován boot manažer v cíli zálohy. Konfigurace cílového {{filename|/boot/grub/menu.lst}} je vyžadována, aby bylo reflektováno nové umístění.
  
 
===Úprava fstab===
 
===Úprava fstab===
Line 84: Line 84:
 
}}
 
}}
  
Protože rsync vykonal rekurzívní kopii ''celého'' kořenového systému, všechny {{codeline|sda}} body připojení jsou problematické a mohou způsobit, že bootování ze zálohy skončí s chybou. V tomto příkladu, všechny prolematické položky jsou nahrazeny jednou jedinou:
+
Protože rsync vykonal rekurzivní kopii ''celého'' kořenového systému, všechny {{codeline|sda}} body připojení jsou problematické a mohou způsobit, že bootování ze zálohy skončí s chybou. V tomto příkladu, všechny problematické položky jsou nahrazeny jednou jedinou:
 
{{command|name=nano /media/backup/etc/fstab|output=
 
{{command|name=nano /media/backup/etc/fstab|output=
 
none        /dev/pts      devpts    defaults      0 0
 
none        /dev/pts      devpts    defaults      0 0
Line 92: Line 92:
 
}}
 
}}
  
Jako předtím, nezapomeňte použít správné jméno zařízení a systém souborů.
+
Jako předtím, nezapomeňte použít správné jméno zařízení a správný systém souborů.
  
 
===Instalace boot manažera===
 
===Instalace boot manažera===
Line 108: Line 108:
  
 
;setup; {{codeline|hd 1}}
 
;setup; {{codeline|hd 1}}
:The command specifies where the actual boot loader is to be installed. In this example it is installed to the [[MBR]] of the second storage device.
+
:Tento příkaz specifikuje, kam se má nainstalovat boot manager. V tomto příkladu je nainstalován do [[MBR]] druhého uložného zařízení.
  
===Configure bootloader===
+
===Konfigurace boot manažera===
The problem here is that even though the boot loader installs correctly, its menu entries are for the main system's partitions, not the backup system's.
+
I když se boot manažer nainstaluje korektně, jeho položky menu jsou pro hlavní systémové oddíly, ne pro oddíl(y) zálohy.
  
It's possible to fix this by creating a custom {{filename|/boot/grub/menu.lst}} for the backup destination. In order to do this, modify {{filename|rbackup.sh}} so that it copies a custom {{filename|menu.lst}}:
+
Toto je možné řešit uživatelským {{filename|/boot/grub/menu.lst}}. Abyste mohli toto udělat, upravte {{filename|rbackup.sh}} tak aby zkopíroval uživatelský {{filename|menu.lst}}:
 
{{file|name=rbackup.sh|content=
 
{{file|name=rbackup.sh|content=
 
#!/bin/sh
 
#!/bin/sh
Line 125: Line 125:
 
}}
 
}}
  
{{tip|instead of replacing {{filename|menu.lst}} with a custom version solely for the backup, add a new GRUB entry pointing to the backup device or simply edit GRUB's menu during boot time.}}
+
{{tip|místo nahrazení {{filename|menu.lst}} uživatelskou verzi jenom pro zálohu, přidejte položku Grubu která odkazuje na zařízení zálohy nebo jednoduše zeditujete Grub menu během startu.}}

Revision as of 14:11, 6 February 2011

Tento rsync skript umožňuje vytvoření kompletní zálohy napříč systémy souborů. Je nastaven tak, že kopie (záloha) zahrnuje nedotčené bootovací schopnosti, volitelně lze vyloučit určité vybrané soubory.

Tento postup má výhody před pouhým zkopírovaním osobních dat s vynechávním systémových souborů. Pokud se systém nějak poruší na hlavním oddílu, překonání problému znamená nabootování ze zálohy v porovnání s identifikací a reinstalací postižených programů.

Instrukce byly převzaty z z toho přízpěvku ve fóru.

Soubory

Jsou potřeba dvě věci: zálohovací skript a soubor uvědějící, které soubory zahrnout/nezahrnout ze zdroje zálohy.

Zálohovací skript

Tento skript je velmi jednoduchý; používá rsync v archivním režimu, přičemž je zajištěno, že symbolické odkazy, zařízení, práva a vlastnictví aj. jsou zachovány. Vyloučeny jsou soubory odpovídající vzorům ze seznamu co zahrnout/co vyloučit.

Uložte ho jako Template:Filename a nastvte mu atribut spustitelnosti: Template:File

Zdroj zálohy; Template:Codeline
V tomto případě se provádí záloha celého kořenu (root).
Kam zálohovat; Template:Codeline1
Předává se jako parametr skriptu; např. Template:Filename
Co zahrnout/nezahrnout; Template:Codeline
Tento příklad používá Template:Filename.

Seznam toho, co zahrnout/nezahrnout

Jelikož může být obtížné určit, které soubory budou v tomto seznamu, uvádím zde typický zálohovací příklad, který nezahrnuje běžné soubory, které nejsou třeba zázálohovat, jako většina Template:Filename. Poznámka: specifikace každého žádaného souboru nebo adresáře v Template:Codeline není třeba; tato sekce pouze slouží jako filter pro specifikaci Template:Codeline. Tento soubor je tradičně ve formátu co zahrnout/co nezahrnout programu rsync.

Uložte následující jako Template:Filename: Template:File

Vyloučit
Obsah systémových adresářů; Template:Filename, Template:Filename, Template:Filename a Template:Filename je vyloučen, protože je vytvářen systémem při startu, zatímco tyto adresáře je třeba zachovat, jelikož nejsou vytvářeny při startu. Nakonec, všechny Template:Filename instance jsou vynechány, protože jsou specifické pro oddíl. Pro Archlinux Template:Filename mohou být rovněž vynechány. To může ušetřit dost času při každém zálohování, jelikož adresář obsahuje hodně malých souborů, které mají tendenci se často měnit. Toto jsou "popisovací" soubory pro každý balíček z repozitářů. Tyto soubory lze vygenerovat znovu pomocí Template:Filename.
Warning: nezapomeňte rovněž vynechat připojený adresář, kam budete zálohovat, vyvarujete se tak nekonečné smyčky (v tomto příkladu Template:Filename.
Zahrnout
Dokonce ačkoli Template:Filename je vyloučeno, 4 soubory, které nejsou dynamicky vytvářeny pomocí udev musí být zachovány. Jsou to Template:Filename, Template:Filename, Template:Filename and Template:Filename.

Záloha

Nahraďte Template:Filename podle potřeby, a připojte cílové zařízení:

# mount /dev/sdb1 /media/backup
Tip: pokud není důležitá možnost bootovat ze zálohy, vynechejte předchozí krok a jednoduše zálohujte do libovolného adresáře.

Spusťe zálohovací skript (zakončení pomocí znaku "Template:Filename" je nutné):

# ./rbackup.sh /media/backup/

Nastavení bootování

Poté co synchronizace skončila, cílový Template:Filename je třeba upravit a musí být nainstalován boot manažer v cíli zálohy. Konfigurace cílového Template:Filename je vyžadována, aby bylo reflektováno nové umístění.

Úprava fstab

Upravte cílovou fstab: Template:Command

Protože rsync vykonal rekurzivní kopii celého kořenového systému, všechny Template:Codeline body připojení jsou problematické a mohou způsobit, že bootování ze zálohy skončí s chybou. V tomto příkladu, všechny problematické položky jsou nahrazeny jednou jedinou: Template:Command

Jako předtím, nezapomeňte použít správné jméno zařízení a správný systém souborů.

Instalace boot manažera

Tyto instrukce předpokládají využití GRUB, mohou být lehce upraveny pro jiné boot manažery, jako např. LILO.

Otevřete Grub konzoli:

# grub

Přímo instalujte na cílové zařízení:

root (hd1,0)
setup (hd1)
root; Template:Codeline
Mělo by odkazovat na umístění souborů Grubu -- v tomto případě, "Template:Codeline" znamená druhé uložné zařízení (Template:Filename) a "Template:Codeline" je první oddíl (Template:Filename).
setup; Template:Codeline
Tento příkaz specifikuje, kam se má nainstalovat boot manager. V tomto příkladu je nainstalován do MBR druhého uložného zařízení.

Konfigurace boot manažera

I když se boot manažer nainstaluje korektně, jeho položky menu jsou pro hlavní systémové oddíly, ne pro oddíl(y) zálohy.

Toto je možné řešit uživatelským Template:Filename. Abyste mohli toto udělat, upravte Template:Filename tak aby zkopíroval uživatelský Template:Filename: Template:File

Tip: místo nahrazení Template:Filename uživatelskou verzi jenom pro zálohu, přidejte položku Grubu která odkazuje na zařízení zálohy nebo jednoduše zeditujete Grub menu během startu.