Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Kirill Nuzhdin                       2:5020/400     27 Apr 2005  13:57:32
 To : Yaroslav Snisar
 Subject : Re: ipfw > script on shell
 -------------------------------------------------------------------------------- 
 
 Yaroslav Snisar wrote:
 
 > Yaroslav Snisar пишет:
 > 
 >> Есть штука вывода количества Мб. Проблема в том что при обычном
 >> просмотре скриптом выводится после числа большое количество нулей. Как
 >> избежать этого?
 >> Вот скрипт:
 >>
 >> # #!/bin/sh
 >> # traffic=`ipfw show | grep 00103 | awk '{ print $3 }'`
 >> # echo $traffic
 > 
 > 
 > Рассказываю многоуважаемому олл всё :)
 > 
 > #ipfw add 00501 count all from any to 10.102.5.10
 > #ipfw add 00502 count all from 10.102.5.10 to any
 > 
 > 
 > #!/bin/sh
 > traffic_in=`ipfw show | grep 00501 | awk '{ print $3 }'`
 > traffic_out=`ipfw show | grep 00502 | awk '{ print $3 }'`
 > gib=`echo "($traffic_in + $traffic_out) / 1000000" | bc -l`
 > mon=`echo "$gib * 0.30" | bc -l`
 > echo $traffic_in > /var/www/html/billing/log/00501.txt
 > echo $traffic_in > /var/www/html/billing/log/00502.txt
 > echo $gib > /var/www/html/billing/log/00501-2-all.txt
 > echo $mon > /var/www/html/billing/log/00501-2-mon.txt
 > ...
 > 
 > Как видно из скрипта в файл кидается уже цифра округлённая, т.е. в Мб
 > Далее скриптяка запускается кроном. Скидывается в 
 > /var/www/html/billing/log. В директории выше есть файлик index.shtm,
 > который выводит инфу о траффике средствами SSI.
 > Hе спорю способ трудоёмкий, и не рентабельный/не перспективный, но на 
 > чём то следует учиться ;)
 > 
 > Собственно проблема в том что, та циферка, которую скидывает скриптик, в 
 > файлик, имеет приблизительно такой вид:
 > .64087100000000000000
 > 
 > Собственно: как урезать последнии нули? %)
 
 ядрен-батон, авком:
 
 #!/usr/bin/awk -f
 BEGIN{
    "/sbin/ipfw show 501" | getline
    traf_in = $3
    "/sbin/ipfw show 502" | getline
    traf_out = $3
 
    gib = (traf_in + traf_out)/1000000
    mon = gib * 0.3
    print traf_in > "/var/www/html/billing/log/00501.txt"
    print traf_out > "/var/www/html/billing/log/00502.txt"
    print gib > "/var/www/html/billing/log/00501-2-all.txt"
    print mon > "/var/www/html/billing/log/00501-2-mon.txt"
 }
 
 если нужна какая-то определенная точность пишешь, например:
 
 printf("%20.10f\n", traf_in) > "/var/www/html/billing/log/00501.txt"
 
 -- 
 Best regards,
 Kirill Nuzhdin
 --- ifmail v.2.15dev5.3
  * Origin: MSU (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ipfw > script on shell   Yaroslav Snisar   26 Apr 2005 19:08:24 
 ipfw > script on shell   Artem Ignatiev   26 Apr 2005 20:45:59 
 Re: ipfw > script on shell   Yaroslav Snisar   27 Apr 2005 12:46:28 
 Re: ipfw > script on shell   Kirill Nuzhdin   27 Apr 2005 13:57:32 
 Re: ipfw > script on shell   Kirill Nuzhdin   27 Apr 2005 14:00:10 
 Re: ipfw > script on shell   Alexey Sopov   27 Apr 2005 19:27:07 
 Re: ipfw > script on shell   Yaroslav Snisar   27 Apr 2005 19:51:51 
 Re: ipfw > script on shell   Alexey Sopov   27 Apr 2005 22:48:56 
 Re: ipfw > script on shell   Alexander Shursha   27 Apr 2005 22:28:39 
 Re: ipfw > script on shell   Valentin Davydov   28 Apr 2005 09:50:38 
 ipfw > script on shell   Paul Petruk   28 Apr 2005 17:26:10 
 Re: ipfw > script on shell   Valentin Davydov   01 May 2005 19:30:14 
Архивное /ru.unix.bsd/6577b04fa8ab.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional