LINUX.ORG.RU
ФорумAdmin

shell + mysql скрипт


0

0

Доброе время суток!!! Я ищу руководство или учебник по написанию shell – скриптов. А точнее взаимодействие shell & mysql как можно больше примеров.


А чё тут читать?
Как-то вот так, наверное:

j=10
mysql -e "select * from TABLE where row=$j" > results.log
mysql < query.sql >>results.log

anonymous
()
Ответ на: комментарий от anonymous

А если усложнить. К примеру у меня есть некая таблица traffic. с полями from_IP, port_from_IP, to_IP, port_to_IP, protocol, bytes, all_bytes. И мне надо перенести данные из traffic в traffic_res, но предварительно посчитать сумму all_bytes для каждого ip адреса. Это нужно для уменьшения гигантских размеров таблице traffic.

osipen
() автор топика
Ответ на: комментарий от osipen

А поточнее? Что значит "предварительно посчитать"? "Для каждого
IP-адреса" -- это для from_IP или to_IP?

Например, это может быть что-то вроде этого:

mysql -u root test -e 'insert into traffic_res \
   select from_IP, 
          port_from_IP, \
          to_IP, \
          port_to_IP, \
          bytes, \
          sum(all_bytes) \
      from traffic
      group by from_IP, \ 
          port_from_IP, \
          to_IP, \
          port_to_IP, \
          bytes'

Естессно, что так прямо в лоб работать не будет -- нужно указать, по
каким полям выполнять группировку.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

from_IP        port_from_IP   to_IP        port_to_IP  protocol  bytes all_bytes
12.129.206.119     80      192.168.100.2      client  tcp      24624      25672
216.26.160.8       110     192.168.100.2      client  tcp      10217      11673
192.168.100.2      client  216.34.191.52      25      tcp       6307       6991
192.168.100.2      client  66.185.95.98       25      tcp       6295       6795
192.168.100.2      client  12.129.206.119     80      tcp        748       2528

Вот таблица traffic, после неких наших действий мы должны получить. В таблице traffic_res, ip (не будет повторении ip) all_bytes_from 
(сумма в байтах исходящего траффика для ip) all_bytes_to (сумма в байтах входящего траффика для ip)


ip                all_bytes_from   all_bytes_to   
192.168.100.12      2399009          13899889
192.168.100.2       5245435542       254545455

osipen
() автор топика
Ответ на: комментарий от osipen

Иди SQL учи, нефиг халявить. info mysql в самый раз для тебя будет. Про aggregate функции тебе уже сказали.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.