vnstat: imprime a atividade de rede atual em um arquivo

0

Como posso imprimir a saída de vnstat -l em um arquivo? o que eu tentei:

vnstat -l &> file

mas apenas pendurado

    
por teslasimus 21.03.2013 / 13:27

2 respostas

3

Remova a opção l . Na página vnstat man:

   -l, --live mode
          Display current transfer rate for the selected interface in real time until interrupted. Statis‐
          tics  will be shown after interruption if the runtime was more than 10 seconds. An optional mode
          parameter can be used to select between the displaying of packets per second (mode 0) and trans‐
          fer  counters  (mode  1) during execution.  --style can also be used to affect the layout of the
          output.

Assim, a -l faz a saída de exibição vnstat no "modo ao vivo", constantemente atualizando, por isso você não pode capturar a saída. Se você quiser um formato facilmente analisável, use

vnstat --dumpdb

Para salvar apenas a saída padrão,

vnstat > log.txt

Se o que você deseja é a taxa atual de upload e download, vnstat não é a ferramenta certa para o trabalho. Tente sar do pacote sysstat (veja man sar para mais informações):

sudo apt-get install sysstat 
sudo sar -n DEV 1 1

Para extrair a taxa atual * de download e upload da interface wlan0 da saída de sar :

sudo sar -n DEV 1 1 | grep wlan0 | tail -n 1 | gawk '{print "Down: "$5,"Up: "$6}'

* O que significa "atual"? sar (e qualquer outro método) levará alguns milissegundos para gerar saída.

    
por 21.03.2013 / 13:53
0

Eu não sei se você quer imprimir apenas um resumo final para arquivar de algum período que você vai monitorar a atividade da rede, mas você pode trapacear desta forma:

vnstat -l -i <device> >> dump.txt

O único problema é que o vnstat gravará a saída no arquivo a cada segundo, de modo que não seja a maneira mais conveniente. Para monitoramento contínuo com registro para cada segundo ou mais, o perdão respondeu à sua pergunta.

    
por 20.11.2014 / 14:14