|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Andrey Ostanovsky 2:5030/1957 27 Jun 2005 10:20:42 To : Alex Ivanov Subject : скрипт и crontab -------------------------------------------------------------------------------- 24 Jun 05 18:36, you wrote to me: AO>> Круто! А что, inet_aton()/inet_ntoa() у тебя в mysql не работает? AO>> :) Или в чем смысл рубить IP адрес на чистые октеты? AI> Я не большой знаток mysql, специального типа для этого не нашел - а AI> хранить ip в виде строки очень не хотелось :))) А рублю на байты, чтоб AI> в таблице аккуратней лежало - мне так проще. Можно конечно и в longint AI> хранить :))) Да не, ты не понял.:) Это функции самого mysql, преобразующие вводимые данные в int и обратно. Там, правда, на выводе из unsigned int грабли лежат, но про них известно. AI> Кстати, когда хранится в виде байтов - проще детализации AI> по подсетям /24 /16 делать. А вообще когда я писал скрипт - хотелось AI> обойтись без тяжелых инструментов типа perl или php, поэтому и так и AI> сделал. :) А тут непонятно - что тяжелее в написании скрипта: перл, или awk. AI> Предложишь более красивое решение (я просто не знаток рег. выражений и AI> awk вот и спрашиваю)? Hу, когда-то делал для сбора трафика. #!/usr/bin/perl -w # $Header$ # # Simple script for input ipacctctl statistics data in verbose # mode from ng_acct_tee device to my_sql table. Written by aost # # Example: # # 1. Create ipacct netgraph devices(see ng_ipacct_init.sh) # # 2. Check: #ngctl list # # Name: rl1_ip_acct Type: ipacct ID: # Name: rl1_acct_tee Type: tee ID: # # 3. Usage: traf_to_base rl1 # where "rl1" - network interface name # # # Table structure for table 'traffic0_test' # # CREATE TABLE `traffic0_test` # ( `id` int(12) unsigned NOT NULL auto_increment, # `ip_from` int(15) default NULL, # `ip_to` int(15) default NULL, # `sport` int(6) default NULL, # `dport` int(6) default NULL, # `proto` int(4) default NULL, # `bytes` int(15) unsigned default NULL, # `packets` int(15) default NULL, # `ftime` int(14) default NULL, # PRIMARY KEY (`id`)) TYPE=MyISAM; # # Select example: # # select INET_NTOA(ip_to), # sum(bytes), # FROM_UNIXTIME(max(ftime)) as ftime # from traffic0_test # where INET_NTOA(ip_to) like "192.168.%" # group by ip_to # order by ftime # ################################## # Andrey --- GoldED+/BSD 1.1.5 * Origin: PGP KeyID 2ABEC67A andrey @ ostanovsky. spb. ru (2:5030/1957) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/286042bf9e9e.html, оценка из 5, голосов 10
|