The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Народ! кому нужен скрипт на перле?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Народ! кому нужен скрипт на перле?"
Сообщение от ERA emailИскать по авторуВ закладки on 01-Апр-03, 05:41  (MSK)
Долго роясь в инете и получая подзатыльники за вопрос как можно сделать скрипт а не прогу чтобы свободно снимать счетчики минуя БД...скидывать на файл....для выделенки ~128 кб/с сделал все же....думаю что то что надо!
кому надо мыльте ..скину скрипт с подробным объяснением или в форуме кину...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Народ! кому нужен скрипт на перле?"
Сообщение от ERA emailИскать по авторуВ закладки on 01-Апр-03, 06:48  (MSK)
>Долго роясь в инете и получая подзатыльники за вопрос как можно сделать
>скрипт а не прогу чтобы свободно снимать счетчики минуя БД...скидывать на
>файл....для выделенки ~128 кб/с сделал все же....думаю что то что надо!
>
>кому надо мыльте ..скину скрипт с подробным объяснением или в форуме кину...
>
Абсолютно бесплатно..спояснениями....
1. значит лезешь в rc.firewall где лежат правила для твоего IPFW(если у тебя не ipfw  вопрос разу отваливается)
к примеру 100 add count tcp from ant to ${внешний ip} in via ${внешний интерфейс}
2. проверяешь...#: ipfw s 100 (команда для показа 100 правила..получаешь типа 00100 34 245 count tcp ......)
3.если все работает пишешт такой скрипт:
#! /usr/bin/perl
$file="/var/log/counts/allin.txt";
#затем открываешь файл
open FF, "<$file";
#обзываешь переменную для снятия содержимого файла
$s=<FF>;
close(FF);#закрываем файл для чтения
#затем приступаешь не посредственно к правилу(кавычки не простые как эти -> ' а #консольные ` (нажатие клавиши тильда (тама 'ё'  написанно)
$r1=`/sbin/ipfw s 100`;
#затем пилим полученные резальтат в массив через пробел(то есть все значения #разбиваются по пробелам
@s1=split(/ /,$r1);
#получаем элементы массива вида: нулевой 00100, первый 17, второй(он нас и #интересует) 1152 , третий count , ... tcp, ... from, ... any, .... to.....и т.д.
#тут есть одно но....когда счетчики равны 0 то все элементы строки идут через #пробел..поэтому проблем в снятии второго элемента массива нет.....но когда #счетчики становятся не нулевыми то почему то число пробелов между ними #достигает трех и далее....
#поэтому минуя тяжелые вычислении через условия этого второго счетчика я решил #посчитать все элементы масива и вычесть с конца кол-во элемнтов до счетчика  
#00100 17 1152 count tcp from xxx.xxx.xxx.xxx to any in recv ed0 получаем что 1152 будет #10 элементом с конца..... пишем
$i=@s1; #вычисляем все количество элементов
$z=$s1[$i-10];#находим в массиве счетчик как 10 элемент с конца
open FF, ">$file";#открыаем файл на чтение
$traff=$s+$z;#прибавляем к старой переменной (считанной раннее из файла) новую
print FF $traff; #перезаписываем счетчик в файле(миссия выполнена);
close(FF);#закрываем файл
$flush=`/sbin/ipfw z 100`;#Обнуляем счетчик
split(/ /, $flush);#Обнуляем счетчик

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Народ! кому нужен скрипт на перле?"
Сообщение от ERA emailИскать по авторуВ закладки on 01-Апр-03, 06:50  (MSK)
>>Долго роясь в инете и получая подзатыльники за вопрос как можно сделать
>>скрипт а не прогу чтобы свободно снимать счетчики минуя БД...скидывать на
>>файл....для выделенки ~128 кб/с сделал все же....думаю что то что надо!
>>
>>кому надо мыльте ..скину скрипт с подробным объяснением или в форуме кину...
>>
>Абсолютно бесплатно..спояснениями....
>1. значит лезешь в rc.firewall где лежат правила для твоего IPFW(если у
>тебя не ipfw  вопрос разу отваливается)
>к примеру 100 add count tcp from ant to ${внешний ip} in
>via ${внешний интерфейс}
>2. проверяешь...#: ipfw s 100 (команда для показа 100 правила..получаешь типа 00100
>34 245 count tcp ......)
>3.если все работает пишешт такой скрипт:
>#! /usr/bin/perl
>$file="/var/log/counts/allin.txt";
>#затем открываешь файл
>open FF, "<$file";
>#обзываешь переменную для снятия содержимого файла
>$s=<FF>;
>close(FF);#закрываем файл для чтения
>#затем приступаешь не посредственно к правилу(кавычки не простые как эти -> ' а #консольные ` (нажатие клавиши тильда (тама 'ё'  написанно)
>$r1=`/sbin/ipfw s 100`;
>#затем пилим полученные резальтат в массив через пробел(то есть все значения #разбиваются
>по пробелам
>@s1=split(/ /,$r1);
>#получаем элементы массива вида: нулевой 00100, первый 17, второй(он нас и #интересует)
>1152 , третий count , ... tcp, ... from, ... any,
>.... to.....и т.д.
>#тут есть одно но....когда счетчики равны 0 то все элементы строки идут
>через #пробел..поэтому проблем в снятии второго элемента массива нет.....но когда #счетчики
>становятся не нулевыми то почему то число пробелов между ними #достигает
>трех и далее....
>#поэтому минуя тяжелые вычислении через условия этого второго счетчика я решил #посчитать
>все элементы масива и вычесть с конца кол-во элемнтов до счетчика
>
>#00100 17 1152 count tcp from xxx.xxx.xxx.xxx to any in recv ed0
>получаем что 1152 будет #10 элементом с конца..... пишем
>$i=@s1; #вычисляем все количество элементов
>$z=$s1[$i-10];#находим в массиве счетчик как 10 элемент с конца
>open FF, ">$file";#открыаем файл на чтение
>$traff=$s+$z;#прибавляем к старой переменной (считанной раннее из файла) новую
>print FF $traff; #перезаписываем счетчик в файле(миссия выполнена);
>close(FF);#закрываем файл
>$flush=`/sbin/ipfw z 100`;#Обнуляем счетчик
>split(/ /, $flush);#Обнуляем счетчик

в конце такая строчка//open FF, ">$file";#открыаем файл на чтение
ошибочка: не открываем файна чтение а открываем файл на запись

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Народ! кому нужен скрипт на перле?"
Сообщение от dawnshade emailИскать по авторуВ закладки on 01-Апр-03, 09:18  (MSK)
Ради интереса, мерял скоко он у тя процессорного времени жрет хотя бы за неделю и на какой машине?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Народ! кому нужен скрипт на перле?"
Сообщение от ERA emailИскать по авторуВ закладки on 01-Апр-03, 09:26  (MSK)
>Ради интереса, мерял скоко он у тя процессорного времени жрет хотя бы
>за неделю и на какой машине?

подгружает но наскока не знаю....в любом случае не рекомендаю его пускать в кроне меньше чем через минуту..
да хрен знает тут сервак стоит пень 166 с 48 метрами оперативы
на нем прокся, мыло , файервол, антискан портов, счетчики, еще и sshd висит, апач с модулями пхп и перл....вроде работает..не замечал особо тормозов....выделенка 128 кб/сек..был бы Ethernet тут бы другие подходы были бы...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Народ! кому нужен скрипт на перле?"
Сообщение от ERA emailИскать по авторуВ закладки on 01-Апр-03, 09:34  (MSK)
>>Ради интереса, мерял скоко он у тя процессорного времени жрет хотя бы
>>за неделю и на какой машине?
>
>подгружает но наскока не знаю....в любом случае не рекомендаю его пускать в
>кроне меньше чем через минуту..
>да хрен знает тут сервак стоит пень 166 с 48 метрами оперативы
>
>на нем прокся, мыло , файервол, антискан портов, счетчики, еще и sshd
>висит, апач с модулями пхп и перл....вроде работает..не замечал особо тормозов....выделенка
>128 кб/сек..был бы Ethernet тут бы другие подходы были бы...

еще про логчек забыл и докторвэб для сендмайла ...и работает...консоль не лагает вроде

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Народ! кому нужен скрипт на перле?"
Сообщение от Mironimus Искать по авторуВ закладки on 03-Апр-03, 11:47  (MSK)
>>>Ради интереса, мерял скоко он у тя процессорного времени жрет хотя бы
>>>за неделю и на какой машине?
>>
>>подгружает но наскока не знаю....в любом случае не рекомендаю его пускать в
>>кроне меньше чем через минуту..
>>да хрен знает тут сервак стоит пень 166 с 48 метрами оперативы
>>
>>на нем прокся, мыло , файервол, антискан портов, счетчики, еще и sshd
>>висит, апач с модулями пхп и перл....вроде работает..не замечал особо тормозов....выделенка
>>128 кб/сек..был бы Ethernet тут бы другие подходы были бы...
>
>еще про логчек забыл и докторвэб для сендмайла ...и работает...консоль не лагает
>вроде

ПРИКОЛЬНО

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру