Чтиво: установка сервера часть 026
Внесу еще некоторые косметические изменения в скрипты установки dial-up
соединения:
1. в журнале статистики /var/log/ppp.log существуют пробелы между
logon-именем и запятой - их бы хотелось убрать.
2. Время, проведенное в Инете для упрощения последующей обработки
все-таки буду выводить в секундах
3. Необходимо добавить в статистику текущую скорость соединения.
Приступим.
С пробелами и временем расправимся легко. Для файла
/etc/ppp/ip-down.local:
были строчки
begining part of old ip-down.local CT=${CONNECT_TIME}
CTT=`expr ${CT} % 60`
[ ${CTT} -lt 10 ] && PRE_S="0" || PRE_S=""
CON_TIME=${PRE_S}${CTT}
CT=`expr ${CT} / 60`
CTT=`expr ${CT} % 60`
[ ${CTT} -lt 10 ] && PRE_S="0" || PRE_S=""
CON_TIME=${PRE_S}${CTT}":"${CON_TIME}
CT=`expr ${CT} / 60`
CON_TIME=${CT}:${CON_TIME}
echo ${CUR_DATE}" terminated: account: "${ACCOUNT}", time: "${CON_TIME}\
", data received: "${BYTES_RCVD}", send: "${BYTES_SENT} >> $LOG_FILE
ending part of old ip-down.local их необходимо изменить на
begining part of new ip-down.local CON_TIME=${CONNECT_TIME}
echo -n ${CUR_DATE}" terminated: account: "${ACCOUNT}", time: "${CON_TIME} >>
$LOG_FILE
echo ", data received: "${BYTES_RCVD}", send: "${BYTES_SENT} >> $LOG_FILE
ending part of new ip-down.local Для файла /etc/ppp/ip-down.local:
ошибка закралась вот в эти строчки
begining part of old ip-up.local echo ${CUR_DATE}" activated: account: "${ACCOUNT}", user: "${PPPLOGNAME}\
", local ip: "${IPLOCAL} >> $LOG_FILE
ending part of old ip-up.local то что должно получиться будет показано после добавления журналирования
скорости соединения.
Для ведения статистики по скорости соединения для начала исправим
файлик /etc/ppp/ppp-on-dialer:
begin ppp-on-dialer #!/bin/sh
. /etc/ppp/account
exec /usr/sbin/chat -r /tmp/connect \
REPORT "CONNECT" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
TIMEOUT 5 \
"" "AT" \
"OK"-"+++"-"" "ATH0" \
"OK" "ATS7=45" \
"OK" "ATS19=2" \
"OK" "ATL1" \
"OK" "ATX4" \
ABORT "BUSY" \
ABORT "NO ANSWER" \
ABORT "NO CARRIER" \
"OK" "ATDT${TELEPHONE}" \
TIMEOUT 30 \
"CONNECT" "" \
\\r\\n ""
end ppp-on-dialer что добавилось?
Первое: директива REPORT со строкой "CONNECT", указывающая на то, что
все символы до символа перевода строки, которые последуют после
получения строки "CONNECT" будут записаны в report-файл.
Второе: опция "-r /tmp/connect" как раз задает имя report-файла. Если
его не задать, то запись будет проводится в stderr.
Чтобы обработать, получившийся в результате деятельности программы
chat, report-файл, добавим строчки в /etc/ppp/ip-down.local:
begining part of old ip-up.local CUR_SPEED=`cat /tmp/connect | \
awk 'BEGIN {FS="CONNECT"} {print $2}' | \
awk 'BEGIN {FS="\/"} {print substr($1,2,length($1)-1)}'`
echo -n ${CUR_DATE}" activated: account: "${ACCOUNT}", user: "${PPPLOGNAME}
echo ", speed: "$CUR_SPEED", local ip: "${IPLOCAL} >> $LOG_FILE
rm -f /tmp/connect
ending part of old ip-up.local Что сейчас происходит? Вычленяется текущая скорость из report-файла,
присваивается переменной CUR_SPEED, значение которой затем выводится в
файл статистики. После чего report-файл за ненадобностью удаляется.
Вот такие изменения.
Чтобы насладится результатом работы, после подключения к Инету можно
выполнить команду:
$ tail -n 1 /var/log/ppp.log
20031112 23:41:42 activated: account: mylogin, user: nina, speed: 44000, local
ip: 213.59.73.136
C уважением, Kolotov Alexandr aka mr. Эбола
отвечать: myscri***@e*****.ru
ICQ: 100349254
| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru