Přesná záloha USB disku

Sandokan

Přesná záloha USB disku
« kdy: 02. 10. 2016, 07:43:54 »
Čus tučnáci :-)

Hledám soft může být i na windows který dokáže přesně zálohovat FlashDisk.

Mám FlashDisk rozdělenej na dva oddíly 1. je Linux Live a 2. je FAT32 a normální soubory
Hledám něco čím udělat přesnou kopii a pak když něco změním nebo budu mít new FlashDisk abych to tam mohl lechce nahrát.
« Poslední změna: 02. 10. 2016, 21:25:06 od Petr Krčmář »


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Záloha USB
« Odpověď #1 kdy: 02. 10. 2016, 08:04:10 »
dd

Jenda

Re:Záloha USB
« Odpověď #2 kdy: 02. 10. 2016, 12:00:03 »
Prostě si ho vypíšeš do souboru a pak ho zase zapíšeš zpět.

cat /dev/sdb > zaloha

cat zaloha > /dev/sdb

Re:Záloha USB
« Odpověď #3 kdy: 02. 10. 2016, 12:06:10 »
Prostě si ho vypíšeš do souboru a pak ho zase zapíšeš zpět.

cat /dev/sdb > zaloha

cat zaloha > /dev/sdb

cat je problematicky, pokud dojde k nejake chybe. U dd se da nastavit, jak se u chyb (typicky HW) chovat.

Sandokan

Re:Záloha USB
« Odpověď #4 kdy: 02. 10. 2016, 17:01:25 »
On asi nikdo nepochopil co chci tak jinak.

Chci udělat kompletní obraz USB flash disku... Aby když budu chtít tak ho nahraji na jiný flash disk on mě tam vytvoří automaticky stejné oddíly jestli bude velikostí odpovídat a zbytek třeba bude prázdný když ten nový flash disk bude mít o pár GB navíc.

A hlavně když mám na flash disku přes program YUMI který používá syslinux tak nevím jestli obyčejne kopírování by fungovalo (není tam nějaký spešl boot sektor nebo něco takového co kopírováním stejně nejde)???


nobody(ten pravej)

Re:Záloha USB
« Odpověď #5 kdy: 02. 10. 2016, 17:31:49 »
On asi nikdo nepochopil co chci tak jinak.

Chci udělat kompletní obraz USB flash disku...

Pochopili to vsichni, prikaz cat, nebo lepe dd udela praveze kompletni kopii celeho disku, tedy nekopiruje jednotlive soubory ale raw cely disk... a kdyz cely tak cely, tedy vcetne bootloaderu, rozdeleni a vsech pritomnejch oddilu...

Sandokan

Re:Záloha USB
« Odpověď #6 kdy: 02. 10. 2016, 17:37:44 »
Nikdy jsem cat ani dd nepoužil jaký je tam rozdál a je to implementováno v linuxu nebo je to nějaká část programu ?
a jak se to používá ?

Re:Záloha USB
« Odpověď #7 kdy: 02. 10. 2016, 18:17:00 »
cat kopiruje svuj standardni vstup na standardni vystup

Kód: [Vybrat]
cat < a > b

kopiruje obsah souboru a do b (vstup je presmerovany zesouboru a, vystup do souboru b)

dd umi konvertovat a kopirovat. Moc se u nej nepouzivaj stdin a stdout, ale vstup a vystup se zadavaji pomoci (dost nestasne resenych) parametru

Kód: [Vybrat]
dd if=a of=b

Navic ma bambilion prepinacu, kterej rikaji, po jak velkych blocich to delat, na jakem offsetu zacit, co delat kdyz se vyskytne chyba, zda delat nejake konverze v ascii nebo ebcdic...

nobody(ten pravej)

Re:Záloha USB
« Odpověď #8 kdy: 02. 10. 2016, 18:27:33 »
cat je primarne na cteni vstupu (a vystup lze presmerovat) ale nema ochrane prvky pro pouziti s blokovym zarizenim
dd je primarne na kopirovani vstupu na vystup a pocita primarne s pouzitim na blokovym zarizenim

cat i dd jsou soucast balicku (gnu) "coreutils", coz je naprosto zakladni a v kazde GNU/Linux vzdy dostupny balik zakladnich nastroju, viz napr: https://cs.wikipedia.org/wiki/GNU_Core_Utilities

Kód: [Vybrat]
#zakladni pouziti dd - vytvoreni image z disku, pouzit velikosti bloku 1MB(kvuli rychlosti)
dd if=/dev/sdX of=/cesta/kam/ulozit/image bs=1M

#obnova image na disk:
dd if=/cesta/odkud/nacist/image of=/dev/sdX bs=1M

misto sdX je potreba pouzit spravne jmeno zarizeni z ktereho/na ktery chce ukladat, opatrne prikaz se na nic nepta a kdyz misto jmena zarizeni pro flash das jmeno zariezeni pro HDD tak se ti bez ptani prepise zacatek HDD...

jinak velikost image je totozna s celkovou velikosti usb-flash (nebo hdd, nebo "cehokoliv"), tedy neignoruje se volne mist, toho lze v podstate dousahnout pridanim komprese, v tom pripade dd jen nacita a data se pres rouru (pipe, znak |) predavaji archivacnimu nastroji (pri obnove v opacnem poradi) kterej pomoci parametru -c vi ze ma brat/dat data z/do roury

Kód: [Vybrat]
dd if=/dev/sdX bs=1M | gzip -c  > /cesta/kam/ulozit/image.gz

gunzip -c  > /cesta/kam/ulozit/image.gz | dd of=/dev/sdX bs=1M

jeste "drobnost"... dd neukazuje stav kopirovan/prubeh, da se toho docilit tim ze se mu posle USR1 signal, dd zobrazi stav a pokracuje tise dal, pri dokonceni (nezavisle na predchozim poslani USR1 signalu) se zobrazi celkove mnozstvi cas a rychlost...
kill pozduje cislo procesu, to lze zjistit dalsim/vnorene zavolanim prikazu pidoff ktery vraci cislo procesu pro dotazanej nazev (logicky to nefunguje v pripade ze by bezelo nekolik dd najenou)

Kód: [Vybrat]
kill -USR1 $(pidof dd)

Radovan.

Re:Záloha USB
« Odpověď #9 kdy: 02. 10. 2016, 19:05:01 »
On asi nikdo nepochopil co chci tak jinak.
Ale pochopil, sleduj:
lsblk ti vypíše připojené disky,
teď zasuneš flashku, nepřipojuješ jí, a znovu
lsblk a podíváš se co přibylo.
Může se objevit něco jako
sdc      8:32   1  14,9G  0 disk
├─sdc1   8:33   1    63M  0 part
└─sdc2   8:34   1     4G  0 part

Předpokládám že v tuhle chvíli jsi v adresáři kde chceš mít uložený obraz té flashky, takže stačí jen
dd if=/dev/sdc of=kopie.img
a za nějaký čas budeš mít bitovou kopii CELÉ flashky se všemi oddíly i volným místem na disku. Bude to chvíli trvat.
Parametry jsou jasné, if znamená input file, of output file, jak zkopírovat obraz ze souboru na jinou flashku by ti v tuhle chvíli mělo být jasné. A že můžeš mít současně zapíchnuté dvě a klonovat přímo z jedné na druhou také.

Kdybys místo sdc kopíroval sdc1, udělal bys obraz jenom vybraného oddílu, ale takhle se ti zkopíruje celá flashka/karta/disk... To co vidíš je zrovna nejnovější Raspbian, ještě jsem ten oddíl neroztáhl do zbylého volného místa, takže tři čtvrtiny té karty jsou nevyužité.

Pokud by se na flashce vyskytly chyby a kopírování se přerušilo, použij ještě volbu
conv=noerror,sync
aby se v kopírování pokračovalo i při chybě a nečitelné sektory se vyplnily nulami, jinak se vynechají a v obrazu chybí!