OT: automaticke zalohovani medii
Jaroslav Lukesh
lukesh na seznam.cz
Úterý Červen 12 10:59:51 CEST 2018
rsync byl rychlejší, než cp, ale rychlosti dd zdaleka nedosahoval. Dřív za
starých časů jsem normálně na cp testoval rychlost přenosu, srovnatelná
rychlost s dd. I na přestárlém desktopu (suse 11.2) mi cp jede slušně, ale
tohle je už nový linux na orangepi a média na USB (na armu by naopak všechno
co chce přerušení mělo jet lépe než na x86). A disk je archivní, to znamená
že jedna zapisovaná stopa přepisuje několik dalších, které se předtím musí
přesunout jinam. Zřejmě to že cp disku předhazuje malé kousky dat a neřekne
mu že má počkat na další porci, ten pak zdržuje.
nehodí se to samozřejmě, pokud je na dvd hromada malých souborů (režie
smyčky je obrovská, trvalo to den a pak jsem to stejně přerušil), ale na
přelití archivů mi to vyhovuje. Symlinky na vypalovaných médiích většinou
nemívám a na atributy mám "žehličku", stejně z vypalovaných věcí to je
rozvrtané (něco ve woknech, něco v linuxu)
Mě šlo o to, abych strčil médium do mechaniky a nemusel se dál starat (mám
rád věci, které fungují beze mně). Buď su u toho a médium jak vyjede
uslyším, nebo jdu kolem a vidím, že už mechanika nebliká.
CP kopíruje dvd s velkými soubory přes hodinu, dd to má za pár minut.
----- Původní zpráva -----
Od: josef dvoracek
hmm, myslím, že váš skript kompletně vyignoruje symlinky, a zahodí metadata
všech souborů - což samozřejmě při určitých užitích může dávat smysl.
Chtěl jsem se spíše zeptat - při použití dd na kopírování pozorujete výrazně
vyšší rychlost než při rsyncu? Občas se nachomýtnu k kopírování opravdu
většího množství dat, a starý dobrý rsync většinou poskytuje dostatečně
dobré výsledky, takže mě Vaše metoda kopírování celkem zaujala.
2018-06-10 21:14 GMT+02:00 Jaroslav Lukesh <lukesh na seznam.cz>:
Divoké kopírování přes DD tam je proto, že přes CP trvá řádově 10x až 100x
déle (nekecám, až tak MS zkurvil linux)
echo "KOPIRUJI"
# cp -aR /mnt/dvd/ "$OUTDIR/$CD_ID"
# kopie prázdné adresářové struktury
rsync -a --include '*/' --exclude '*' "/mnt/dvd/" "$OUTDIR/$CD_ID"
find "/mnt/dvd" -type f | awk "/^\//{print\"\"substr(\$0,10)}" |
while read item
do
echo "$item"
dd if="/mnt/dvd/$item" of="$OUTDIR/$CD_ID/$item" bs=32M
iflag=nonblock oflag=nonblock
done
Další informace o konferenci Hw-list