Monitorar status de transferência das interfaces de rede
Publicado por Sandro Marcell (última atualização em 09/10/2013)
[ Hits: 6.431 ]
Homepage: http://sanmarcell.wordpress.com
Download 1381297433.bwd_meter (versão 2)
Sem ter muito o que fazer por hoje :P, escrevi esse Shell Script básico que mostra o status de consumo das interfaces de rede em tempo real no terminal! Não é lá essas coisas, mas o que tá valendo é a intenção... :)
P.S.: melhorias serão bem-vindas.
#!/bin/bash # # Copyright 2013 Sandro Marcell <smarcell@myopera.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. # PATH='/bin:/usr/bin:/usr/local/bin' trap 'echo -ne "{FONTE}33[?12l{FONTE}33[?25h"; exit 0' SIGINT SIGTERM SIGQUIT [ $# -eq 0 ] && { echo "Usage: $0 -u K|M|G -i interface"; exit 1; } unit='xxx' iface='yyy' while [ $# -ne 0 ]; do case "$1" in '-u') shift unit="$1" ;; '-i') shift iface="$1" ;; *) echo "Usage: $0 -u K|M|G -i interface" exit 1 esac shift done echo "$unit" | grep -q '\(K\|M\|G\)' || { echo "Use only K(ilo), M(ega) or G(iga)"; exit 1; } if [ ! -d "/sys/class/net/$iface" ]; then echo "$iface: interface not found" exit 1 fi function bandwidthCalc { if [ "$1" == 'K' ]; then echo "scale = 2; $bytes_diff / 128" | bc elif [ "$1" == 'M' ]; then echo "scale = 2; $bytes_diff * 8 / 1048576" | bc elif [ "$1" == 'G' ]; then echo "scale = 2; $bytes_diff * 8 / 1073741824" | bc fi } echo -ne "{FONTE}33[?25l" while true; do exec 3< /sys/class/net/$iface/statistics/rx_bytes; read -u 3 rx_1; exec 3<&- sleep 1 exec 3< /sys/class/net/$iface/statistics/rx_bytes; read -u 3 rx_2; exec 3<&- (( bytes_diff = rx_2 - rx_1 )) rx_bwd=$(bandwidthCalc $unit) echo -ne "$iface: transfer rate - {FONTE}33[1;33m$rx_bwd{FONTE}33[00m ${unit}bit/s{FONTE}33[0K\r" done
Instale o driver proprietário Nvidia baixado do site oficial em qualquer distro
Gerenciamento do Samba com Dialog
Script de compilação automática do GCC-5.3.0 para Debian/Ubuntu de 32 bits
Script para converter arquivos *.rar em *.zip
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Primeira vez utilizando Linux Ubuntu 22.04 e já tenho problemas… (4)
warsaw parou de funcionar após atualização do sistema (solução) (1)
Separar trafego da VPN da VPS (0)
Formatando cartão de memoria que nao formata[AJUDA] (17)
Desde que seja DDR3, posso colocar qualquer memória? [RESOLVIDO] (6)