Zálohování dat pomocí ROBOCOPY

Zálohování je jedna z nejdůležitějších činností, pokud intenzivněji využíváme počítač k práci. Většina už určitě zažila situaci, kdy disk (příp. i celý comp) odešel do křemíkového nebe a všechna data si vzal s sebou. Obnova je pak zdlouhavá, drahá a někdy téměř nemožná. Tomu je lepší předcházet pravidelným zálohováním. Na Linuxu jde o velmi jednoduchou věc a existuje spousta dostupných nástrojů, které jsou navíc často zdarma. V systému windows je situace mírně složitější a je zde převaha placených nástrojů. Zde bych chtěl ukázat velmi jednoduchý způsob, jak si zdarma nachystat zálohovací skript.

Robocopy se ve windows objevil už v dobách Windows NT 4.0, ale jako standardní nástroj byl zaveden až v nešťastných Vistách a ve Windows Server 2008. Název je odvozen od – Robust File Copy. Na rozdíl od klasických příkazů copy a xcopy, umožňuje robocopy také:

  • pokračovat v kopírování po přerušení, např. v důsledku výpadku síťového připojení
  • provádět kopírování ve více vláknech
  • tzv. zrcadlení, zajišťuje synchronizaci složek, kopíruje změněné soubory a maže smazané

Neumožňuje kopírování souborů, pouze složek.

Použití Robocopy

Robocopy je nutné spouštět z příkazové řádky nebo pomocí dávky v .bat souboru. Pokud v příkazové řádce zavoláte robocopy získáte následující výstup:

Užitečnější je příkaz:

robocopy /?

který zobrazí všechny možnosti tohoto příkazu.

Základní syntaxe příkazu je
robocopy <Zdroj> <Cíl> [<Volby>]

Volby

Volba Popis
/s Zkopíruje i podadresáře, mimo prázdných
/e Zkopíruje i podadresáře, včetně prázdných
/lev:<N> Zkopíruje i podadresáře do úrovně N
/sec Zkopíruje soubory vč. nastavení zabezpečení
/mir Používá se pro zrcadlení (synchronizaci), zkopíruje nové a změněné soubory, a smaže (ze zálohy) ty, které byly smazány
/log Uloží log do souboru

Příklady použití

Já používám robocopy převážně na zálohování dat na externí nebo síťový disk, k tomu lze použít velmi jednoduchý zápis:

robocopy e:\data h:\backup\data

Tím zkopírujeme celou složku data na disku e do složky backup\data na disku h:, což může být externí disk. Pokud máme v názvu složky mezeru (což vřele nedoporučuju) je nutné uzavřít celou cestu do uvozovek:

robocopy "e:\moje data" "h:\backup\moje data"

Pokud chceme složku synchronizovat se zálohou, tak použijeme přepínač /mir

robocopy "e:\moje data" "h:\backup\moje data" /mir

Výstup tohoto příkazu bude vypadat nějak takto:

Nejzajímavější část výstupu je na konci, kde můžeme zkontrolovat, jestli nedošlo při kopírování k chybě. Pokud chceme mít možnost si průběh kopírování zkontrolovat, je vhodné zapnout logování do souboru. Pokud nechceme na začátku kopírování log smazat, použijeme volbu /log+.

robocopy "e:\moje data" "h:\backup\moje data" /mir /log:backup.log
robocopy "e:\moje data" "h:\backup\moje data" /mir /log+:backup.log

Při zapnutém logování je potlačen výstup na obrazovku, ten můžeme obnovit přepínačem /tee.

Zapnuté zrcadlení (/mir) způsobí překopírování nových a změněných souborů do cílové lokace, ale také smazání souborů, které jsme ve zdrojové složce smazali, to lze potlačit pomocí přepínače /XX.

robocopy "e:\moje data" "h:\backup\moje data" /mir /XX /tee /log:backup.log

Většinou budeme pro spouštění kopírování používat dávkový soubor (.bat – Batch File), ten vytvoříme jednoduše, pomocí libovolného textového editoru. Jeho obsah může vypadat třeba takto:

robocopy "e:\moje data" "h:\backup\moje data" /mir /XX /tee /log:backup.log
robocopy "e:\filmy" "h:\backup\filmy" /mir /XX /tee /log+:backup.log
pause

Možnosti robocopy jsou samozřejmě větší, doporučují navštívit web microsoftu a google.

Odkazy

  1. Robocopy – microsoft.com
  2. Robocopy – wikipedia

Leave a Reply