Digitální střepiny


Drobnosti, které se někomu můžou hodit

Vlastní vyhledávání Googlem na stránkách cestuji.info

Google


Digitální střepiny - stránka zaměřená na drobné rady z oblasti výpočetní techniky

Zpět na Digitální střepiny



Datum do názvu souboru

Multiping

Ukončení procesu

Restart nebo vypnutí PC

Vymazat staré soubory

Zálohování pomocí robocopy



Pokud byste mi chtěli poslat zprávu, máte k dispozici adresu


Počet shlédnutí od 23.02.2012:
12386





Jak v dávkovém souboru spustit zálohování (zrcadlení, mirror) souborů

Pokud potřebujete v dávkovém souboru provést zálohování (zrcadlení, mirror) nějakého adresáře, jde to pomocí příkazu robocopy. Ten je standardní součástí Windows Vista, Windows 7 a Windows server 2008.
Pokud byste chtěli použít robocopy i ve Windows XP, museli byste si stáhnout a nainstalovat Microsoft resource kit (Google poradí).

Zrcadlení: vytváří zrcadlovou kopii adresáře. Pokud ve zdrojovém adresáři nějaký soubor smažete, zmizí po zrcadlení i z cílového adresáře, takže cílový adresář zbytečně nenarůstá, ale na druhou stranu pak neslouží jako záloha při nechtěném smazání nějakého souboru. Kopírují se jenom změněné soubory, takže první zrcadlení je pomalé, protože se kopíruje vše, další jsou už obvykle podstatně rychlejší.

Základní syntaxe: robocopy "odkud" "kam" /parametry

Zde je vzorový kód pro ozrcadlení z nějakého adresáře:


Zde je vzorový kód pro ozrcadlení z nějakého adresáře, který má v názvu mezery a vytvoření log souboru, abyste mohli zkontrolovat, co se zazálohovalo, přidáno též nastavení codepade 1250, aby fungovala česká diakritika v názvech adresářů:


Robocopy jde použít i pro zálohování souborů z flash paměti (pro případ ztráty nebo zničení). Tady bývá problém, že se občas změní písmeno, pod kterým se flash paměť připojí do Windows. Používám syntaxi s tečkou (tečka = aktuální adresář), dávka pak musí být umístěna na flash paměti.


TIP: zálohovat jde i s vyloučením některých adresářů. Takto zazálohujete celý disk D s vyloučením adresářů blbosti a tmp na externí disk (pozor, občasná změna písmena, proto tečka před cílovým adresářem a dávka musí být uložena na tom externím disku):


Problémy, na které jsem narazil:
  • Při prvním zrcadlení opravdu velkého adresáře s velkým množstvím souborů ve Windows XP x86 nebylo ozrcadleno vše. Vytvořil se LOG soubor velký 4MB a pak se zrcadlení přerušilo. Při druhém zrcadlení se už zazálohovalo vše, protože se díky přeskočeným souborům vytváří menší LOG soubor (kopírují se jenom soubory změněné od posledního zálohování). Ve Windows 7x64 ale používám robocopy bez problémů na zrcadlení celých terabajtových disků s desetitisíci souborů.

  • Zajímavý problém se zálohováním adresáře obsahujícího znak ä
    Kolega v německé pobočce firmy byl aktivní a vytvořil tamní sekretářce konto s názvem Schäfer. Když jsem jí pak chtěl zřídit zálohování spuborů uložených v adresáři C:\Dokumente und Einstellungen\Schäfer, tak to nešlo. Problémy byly dva:
    1. Do dávkového souboru se nesmí zadat znaky s diakritikou v kódování Windows, ale v kódování DOS. Schäfer se tedy v DOS píše Sch„fer. (TIP: napište si v DOS okně echo Schäfer > test.txt a pak v texťáku uvidíte kódování v DOS.)
    2. Z toho vyplynul druhý problém, protože ä bylo reprezentované jako dolní uvozovka a robocopy z resource kitu na ní stále havaroval, protože ji považoval za konec příkazu. Musel jsem použít následující postup:

    (Příkazu cd dolní uvozovka nevadila...)
  • EDIT: tento problém by jednoduše vyřešilo i nastavení codepage 1250 (v Německu 1252), viz výše
    EDIT2: Další metodou by bylo uložit dávkový soubor v Notepadu++ v kódování DOS852. Funguje to podobně, jako chcp 1250 na začátku dávkového souboru, jenom je informace o kódové stránce neviditelná (děkuji Petrovi Křížovi za připomínku mailem).

  • Délka názvů: zálohujte pokud možno do adresářů s krátkým názvem, protože délka cest zálohovaného a zálohovacího adresářů se sčítá a mohli byste ve windows narazit na limit 260-ti znaků pro součet délky názvu souboru a cesty (včetně c:\). Toto omezení platí jak pro 32-bit, tak i pro 64-bitové operační systémy na FAT i NTFS souborovém systému (neplést omezení operačního systému a souborového systému).


Nápovědu k příkazu robocopy získáte zadáním robocopy /? nebo (například u W-XPx64) robocopy /??? v dosovském okně.


Poznámka: Pokud zálohujete z USB na USB, tak aby to spolehlivě fungovalo, bylo by vhodné zajistit, aby ty USB-disky měly stále shodné písmeno. Toho se dá docílit prográmkem usbdlm, jde to nastavit třeba tak, že ty konkrétní USB-disky budou mít stále stejná písmena, ať se připojí, kam se připojí. Pro soukromé použití freeware. Používám bez problémů na W7-x64.




Zpět: Vymazat staré soubory   ||  Na hlavní menu

Spřátelené stránky: Konstrukční kancelář ACR, Katalog katalogů