Покажи теми - seaman
Виж публикациите на потр. | * Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1]
1  Програмиране / Конкурс bash-майсторът / Simple traffic counter script or plasmoid -: Dec 27, 2008, 12:39
Привет
От скоро притежавам 3G data modem и вече се появи първия проблем :-)
Както знаете всички GSM оператори в БГ предлагат тази екстра НО ограничена по трафик.
В този ред на мисли ми затрябва програмка за отчитане на трафика през 3G-то за да няма неприятни изненади. Софтуер по принцип не липсва - cacti, nagios, iptraf, iftop, vnstat, dstat, darkstat, ntop, etc -
ама сега да си товаря машинката с Apache и PHP за да си пусна cacti примерно не става, а и останалите нямат простата функционалност, която се търси.
Аз не съм програмист и от Regular Expression свят ми се завива :-), но алгоритъма ми е горе долу ясен.

1. #sudo wvdial --config /etc/wvdial.conf
Закачаме модема и се вързваме за нета - появява се интерфейс ppp0. (да ама може и да не е ppp0)
Значи скрипта\програмката първо трябва да прави проверка за ppp0 or die :-). Добра идея е потребителя да може да избира интерфейса.

2.   #ifconfig ppp0 |grep bytes|cut -d":" -f2|cut -d" " -f1     //входящ трафик
2а. #ifconfig ppp0 |grep bytes|cut -d":" -f3|cut -d" " -f1   //изходящ трафик
ifconfig си има брояч на трафика. Обаче тук проблема е, че този брояч се нулира при рестарт на машината или когато се извади модема. Скрипта/програмката трябва да записва(презаписва) тези стойности във временен фаил (temp.txt) докато е активна сесията.
 
3. След като се прекъсне връзката (прекрати изпълнението на 1. или инцидентно се извади модема) последните записани стойности в temp.txt трябва да се запишат в нов фаил total.txt.

4.При последваща сесия на 3G-то трябва да се нулира брояча на ifconfig и стоиностите в temp.txt трябва да са сбор от текущите стоиности от 2. и 2а. и стоиностите записани в total.txt (3) от предходната сесия.

5. Би било добре да се добавя и сбор от входящ и изходящ трафик, както и да се преобразува от bytes >Kbytes. Също така потребителя да може да задава максимален трафик при достигането на който да вади съобщение за надвишаване на лимита.

6.Скрипта/програмката трябва да е real time или да се изпълнява в cron

7. Да изкарва резултата от total.txt в реално време.


Това може би не е най-интелигентното решение, но идеята е потребителя да следи месечния си трафик през 3G-то (а и не само ) и по възможност в реално време.Предполагам такава програмка ще е от полза на много от нас. Идеалния вариант е да се направи като plasmoid за KDE4 :-)
Та така - дано да се намерят програмисти дето си нямат друга работа по празниците ;-)

Весели празници на всички!!!



Страници: [1]