Вы можете использовать утилиту kstat. Переменные для Solaris 10 и Solaris 11 разные, вот универсальный код:
KSTAT=$(kstat -p -c net '::mac:obytes64'; echo solaris10 globzone sent >/dev/null
kstat -p -c net '::mac:rbytes64'; echo solaris10 globzone rsv >/dev/null
kstat -p -c net '::phys:obytes64'; echo solaris11 globzone sent >/dev/null
kstat -p -c net '::phys:rbytes64'; echo solaris11 globzone rcv >/dev/null)
$KSTAT=$(echo "${KSTAT}" | sed 's/:[a-z]*:.*bytes64//; s/://; /vnic/d; /vsw/d;')
Пример переменной KSTAT состоит из отправленного и полученного трафика:
$ echo "$KSTAT"
igb0 1381124551259
igb1 0
igb2 0
igb3 0
usbecm2 509924057
igb0 803508091598
igb1 0
igb2 0
igb3 0
usbecm2 1007403041
Все эти счетчики постоянно растут. Вы можете провести их временной анализ, чтобы получить удобочитаемую -статистику.
Также обратите внимание, что если у вас не -глобальные зоны, эта статистика будет работать ТОЛЬКО для монопольного стека IP -. Все зоны в общем стеке IP -будут иметь одинаковую статистику.
Для вывода в html вставьте вот такую строку:
SET MARKUP HTML
поэтому ваш скрипт будет примерно таким
#/bin/ksh
var=$(sqlplus -s <user>/<password>@DB <<EOF
set heading on
set trimspool off
set linesize 200
set feedback off
SET MARKUP HTML ON
spool out.html;
select col_a, col_b, col_c from <table>;
spool off;
exit;
EOF)
echo "$var" > out.txt
exit 0