Thursday, June 23, 2005

Víc bajtů za stejný peníze 2

K původnímu skriptu (optimalizace stahování updatů MDV Cooker pomocí rsync) jsem si připsal pár řádků, který mi řeknou, kolik se přeneslo, jaká je celková velikost stažených souborů a kolik mi tedy ten skript ušetřil.

Asi by se to dalo napsat líp, ale aspoň to funguje:



...
#toto je soucet velikosti vsech nove stazenych souboru
soucet=0
for i in `cat log | tr [:cntrl:] \\\n | grep "% of" | awk 'BEGIN { FS = "100%" } ; { print $1 }'`;
do
soucet=$(($soucet+$i))
done
stazeno=`grep received log | grep sent | awk 'BEGIN { FS = " " } ; { print $2+$5 }'`
echo "Celková velikost stažených souborů:" $soucet "("`echo "scale=2; $soucet/1024/1024" | bc -l` "MB)"
echo "Skutečně přenesená data:" $stazeno "("`echo "scale=2; $stazeno/1024/1024" | bc -l` "MB)"
echo "celková úspora:" `echo "scale=2; 100*($soucet-$stazeno)/$soucet" | bc -l` "%"

A výsledky? Třeba dneska - aktualizace Cookeru po 1 dni:

Celková velikost stažených souborů: 246449423 (235.03 MB)

Skutečně přenesená data: 129177273 (123.19 MB)

celková úspora: 47.58 %


Pokud přibylo jen pár balíčků, je to ještě výraznější, protože soubory hdlist* se rsyncují daleko lépe:

Celková velikost stažených souborů: 153375846 (146.27 MB)

Skutečně přenesená data: 21332579 (20.34 MB)
celková úspora: 86.09 %

No comments:

Post a Comment