De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Logando o tráfego 3G

Colaboração: Bruno Buys

Data de Publicação: 25 de Novembro de 2009

Se você assina um serviço 3G com tráfego limitado, pode ser uma boa idéia logar o seu tráfego. Quando a sua navegação mensal estoura a franquia, a cobrança é por byte adicional, e sai beeem caro.

Se você usa o wvdial para se conectar, pode usar este script para logar seu tráfego. Quando rodado, o script desconecta o modem, mas antes, recolhe a informação do volume de tráfego da interface e salva em um arquivo texto.

Uso

Faça a conexão 3G:

  $ wvdial

ou

  $ wvdial &

Desconecte:

  $ loga3g

Se o seu usuário pode discar com o wvdial (sem precisar ser root ou usar o sudo), então você pode rodar esse script com o mesmo usuário. Se o seu sistema exige que seja rodado pelo root, então você deve rodar essse script também como root.

O arquivo-texto de log criado vai ter linhas assim:

  20091110 - 12:34 - 13:25 - RX bytes:18160923 (17.3 MiB) TX bytes:2087947 (1.9 MiB)

Quanto às unidades de bytes usadas, pode haver alguma confusão. No meu sistema (Debian Lenny), o ifconfig mostra unidades em kibibytes e mebibytes, que são baseadas em potências de 2 (p.ex., 1MiB = 1024KiB). Os tradicionais kilobytes e megabytes acabam tendo uma interpretação mais ambígua, porque muita gente usa para se referir à potências de 10 (p.ex., 1MB = 1000KB). Se a sua operadora dá um valor de franquia baseado em MB, é necessário fazer a conversão.

Veja mais detalhes sobre isso em http://en.wikipedia.org/wiki/Byte#Unit_symbol_or_abbreviation

  #!/bin/bash
  
  # loga3g - brunobuys, 20091121
  # Salva a informação do volume de tráfego 3G, antes de interromper o wvdial.
  
  /sbin/ifconfig ppp0 1>/dev/null 2>/dev/null
  
  if [ $? -ne 0 ] ; then
  
        echo "Não há ppp rodando. Tem certeza que está conectado via 3G?"
        exit 1
  fi
  
  PIDWVDIAL=`pidof /usr/bin/wvdial`
  
  HORAINICIOPPP=`ps aux | grep "$PIDWVDIAL".*wvdial$ | grep -o [0-9][0-9]\:[0-9][0-9]`
  
  TRAFEGO=`/sbin/ifconfig ppp0 | grep -o "RX byte.*)"`
  
  DIA=`date +%d`
  MES=`date +%m`
  ANO=`date +%Y`
  
  echo """$ANO""$MES""$DIA"" - "$HORAINICIOPPP" - "`date +%H\:%M`" - "$TRAFEGO"" >> ~/3g.log
  
  kill $PIDWVDIAL

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Bruno Buys