mirror of
https://github.com/dustinkirkland/byobu
synced 2025-08-22 14:24:39 -07:00
added network combined script
Signed-off-by: Dustin Kirkland <kirkland@canonical.com>
This commit is contained in:
parent
c78fd764ca
commit
be0712e105
1 changed files with 61 additions and 0 deletions
61
bin/network
Executable file
61
bin/network
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
#
|
||||||
|
# network: calculate the network up/down rates
|
||||||
|
# Copyright (C) 2008 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# Authors: Dustin Kirkland <kirkland@canonical.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, version 3 of the License.
|
||||||
|
#
|
||||||
|
# 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
PKG="byobu"
|
||||||
|
|
||||||
|
# Allow interface overrides in configuration directory
|
||||||
|
if [ -r "$HOME/.$PKG/network" ]; then
|
||||||
|
interface=`cat "$HOME/.$PKG/network"`
|
||||||
|
else
|
||||||
|
interface=`/sbin/route -n | tail -n 1 | sed "s/^.* //"`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "--detail" ]; then
|
||||||
|
/sbin/ifconfig "$interface" | sed 's/\s*$//'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
unit="kB/s"
|
||||||
|
t2=`date +%s`
|
||||||
|
ifconfig=`/sbin/ifconfig "$interface" | grep "RX bytes" | sed "s/.*:\(.*\) (.*:\(.*\) (.*/\1\n\2/"`
|
||||||
|
for i in up down; do
|
||||||
|
cache="/var/run/screen/S-$USER/$PKG.network_$i"
|
||||||
|
t1=`stat -c %Y "$cache"` 2>/dev/null || t1=0
|
||||||
|
if [ $t2 -le $t1 ]; then
|
||||||
|
rate=0
|
||||||
|
else
|
||||||
|
x1=`cat "$cache"` 2>/dev/null || tx1=0
|
||||||
|
if [ "$i" = "up" ]; then
|
||||||
|
x2=`echo "$ifconfig" | tail -n1`
|
||||||
|
symbol="^"
|
||||||
|
else
|
||||||
|
x2=`echo "$ifconfig" | head -n1`
|
||||||
|
symbol="v"
|
||||||
|
fi
|
||||||
|
echo "$x2" > "$cache"
|
||||||
|
rate=`echo "$t1" "$t2" "$x1" "$x2" | awk '{printf "%.0f", ($4 - $3) / ($2 - $1) / 1024 }'`
|
||||||
|
if [ "$rate" -lt 0 ]; then
|
||||||
|
rate=0
|
||||||
|
elif [ "$rate" -gt 1024 ]; then
|
||||||
|
rate=`echo "$rate" | awk '{printf "%.1f", $1/1024}'`
|
||||||
|
unit="MB/s"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
printf "$symbol\005{=b mw}$rate\005{-}\005{= mw}$unit\005{-} "
|
||||||
|
done
|
Loading…
Add table
Add a link
Reference in a new issue