#!/usr/bin/perl my ($res, $who, $d1, $d2); $who = $ENV{'REMOTE_USER'}; open(CONF, "; close(CONF); foreach $line(@all) { @user = split(/:/, $line); if ($user[0] eq $who) { $d1 = $user[2]; $d2 = $user[3]; last; } } $who .= "_in"; $d1 =~ /(\d+)\.(\d+)\.(\d+)/; $dd1 = sprintf ("%04d%02d%02d",$3,$2,$1); $d2 =~ /(\d+)\.(\d+)\.(\d+)/; $dd2 = sprintf ("%04d%02d%02d",$3,$2,$1); $res = `/usr/local/sbin/ipacsum -f$who`; if ($res =~ /$who\s*:\s*(\w*)/) { $total = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"last month\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $lastmo = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"this month\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $thismo = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"last week\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $lastweek = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"this week\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $thisweek = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"the day before yesterday\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $lastday = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"yesterday\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $yesterday = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -t \"today\"`; if ($res =~ /$who\s*:\s*(\w*)/) { $today = "$1байт"; } $res = `/usr/local/sbin/ipacsum -f$who -s$dd1 -e$dd2`; if ($res =~ /$who\s*:\s*(\w*)/) { $last = "$1байт"; } if ($last < 1000) { $ne = "не "; $na = ""; $nn = ""; } else { $ne = ""; $na = "на "; $nn = $last - 1000; } print < Traffic Stats  
НПК ОО "Новые Системы"
Статистика входящего трафика клиента $ENV{'REMOTE_USER'}
Входящий трафик:
Всего $total
Прошедший месяц $lastmo
Текущий месяц $thismo
Прошедшая неделя $lastweek
Текущая неделя $thisweek
Позавчера $lastday
Вчера $yesterday
Сегодня $today
День последней оплаты услуг $d1
День следующей оплаты услуг $d2
Входящий трафик за оплаченный период $last
Лимит трафика (1Гбайт) за оплаченный период $neпревышен $na $nn
Another user...

(C)2000 New Systems
eof ;