Portál AbcLinuxu, 12. května 2025 01:07
Řešení dotazu:
(...) ale předtím, než to udělám, by mě zajímalo, kolik dat bude potřeba opravdu přenést (...)Možná přidat
--dry-run
?
pv shows the progress of data through a pipeline by giving information such as time elapsed, percentage completed (with progress bar), current throughput rate, total data transferred, and ETA.Potřebuju ho dopředu nakrmit maximem, které ale neznám - je to předmětem dotazu. Na odkazované stránce je jak zjistit počet přenesených souborů, ale to já vím - bude to 1. Ještě se musím zamyslet, jestli je to vůbec možné. Nejsem si jistý, jestli rsync s plovoucími hashi nepotřebuje mít přenesený všechno předešlé, aby dokázal dopočítat, jestli bude přenášet další blok.
--info=progress2
?
ionice -c3 rsync ... ... ...
--bwlimit
, ale pak se dostanu někam okolo 10 hodin. Pokud zjistím, že je potřeba přenést celý soubor (nebo třeba > 80 %), nebudu to přenášet vůbec a vyřeším to jinak. Třeba "kabelovým" přenosem. Idea byla, že to půjde zjistit efektivněji než experimentem.
--dry-run
by mělo zabránit přenosu dat, --itemize-changes
vypíše změny, --stats
vypíše statistiky. Z toho nedostanete výstup potřebný pro váš odhad?
rsync remote:dump.sql dump.sql --info=progress2 --human-readable --dry-run -vv --stats --itemize-changesdá stejný výstup (až na čísla procesu, dobu běhu), ať mu podstrčím shodný soubor nebo prázdný soubor.
rsync
přesvědčit, aby se choval jako při síťovém přenosu. Protože rsync
není napsán hloupě, a když jsou zdroj a cíl místní, soubor normálně zkopíruje a nezpomaluje to zbytečným načítáním z disku. Při síťovém přenosu je úzkým hrdlem síť, proto optimalizuje rsync přenos dat po síti. Při lokálním přenosu jsou ale úzkým hrdlem pevné disky, a nemá tedy smysl optimalizovat přenos přes operační paměť.
Notably, a dry run does not send the actual data for file transfers, so --progress has no effect, the "bytes sent", "bytes received", "literal data", and "matched data" statistics are too small, and the "speedup" value is equivalent to a run where no file transfers were needed.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.