выборка из файла и запись в mysql скриптом

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Zedik » 2007-12-12 9:28:03

Есть некий файл лога, который ведет время и дату авторизации пользователя на почтовике.
хочу сделать чтобы данные (юзер/дата_истечения) из файла писались в БД, чтобы потом уже удалять по этим данным неиспользуемые логины.
пока реализовал запись в файл логинов которые авторизовывались "сегодня".

Код: Выделить всё

#!/bin/sh
awk  '{ if ($6 == "LOGIN,") print $7 }' /var/log/maillog | sort -u | cut -c6-60 | sed 's/ru,/ru/g' > /var/lastauth/date/$(date +%Y%m%d)
а вот в мускл не могу даже пробовать записать. не проходить банальная команда mysql

Код: Выделить всё

[root@mx /var/log]# mysql
[root@mx /var/log]#
:?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение manefesto » 2007-12-12 11:31:56

то есть мускуль даже не запускается что ли ?

Посмотри сюда, в конце есть перловый скрипт который делает инсерты в мускуль http://www.obsd.ru/wiki/index.php/Настр ... льной_сети
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
paranoidchaos
мл. сержант
Сообщения: 80
Зарегистрирован: 2007-12-13 10:58:23

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение paranoidchaos » 2007-12-13 12:46:40

как я понял надо из шелл скрипта записать в мускул

Код: Выделить всё

#!/bin/bash   // aka /usr/local/bin/bash

query=`/usr/local/bin/mysql -uroot -proot -e"SELECT column_name FROM table"`  // выборка но есть маленький косяк выводятся также и имена колонок решается так

query2=${query/column_name/}
/usr/local/bin/mysql - это на тот случай если не указан этот путь в переменной окружения пути
Последний раз редактировалось Alex Keda 2007-12-13 14:37:29, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Zedik » 2007-12-13 13:20:13

paranoidchaos писал(а):как я понял надо из шелл скрипта записать в мускул

#!/bin/bash // aka /usr/local/bin/bash

query=`/usr/local/bin/mysql -uroot -proot -e"SELECT column_name FROM table"` // выборка но есть маленький косяк выводятся также и имена колонок решается так

query2=${query/column_name/}

/usr/local/bin/mysql - это на тот случай если не указан этот путь в переменной окружения пути
это все хорошо, спасибо.
но и по полному пути /usr/local/bin/mysql не запускается :twisted:

Аватара пользователя
paranoidchaos
мл. сержант
Сообщения: 80
Зарегистрирован: 2007-12-13 10:58:23

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение paranoidchaos » 2007-12-13 13:41:12

Zedik писал(а):
paranoidchaos писал(а):как я понял надо из шелл скрипта записать в мускул

#!/bin/bash // aka /usr/local/bin/bash

query=`/usr/local/bin/mysql -uroot -proot -e"SELECT column_name FROM table"` // выборка но есть маленький косяк выводятся также и имена колонок решается так

query2=${query/column_name/}

/usr/local/bin/mysql - это на тот случай если не указан этот путь в переменной окружения пути
это все хорошо, спасибо.
но и по полному пути /usr/local/bin/mysql не запускается :twisted:

что пишет то?

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Zedik » 2007-12-13 13:59:38

paranoidchaos писал(а): что пишет то?
тоже что и
[root@mx /var/log]# mysql
[root@mx /var/log]#

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Alex Keda » 2007-12-13 14:38:07

Код: Выделить всё

serv# whereis mysql
mysql: /usr/local/bin/mysql /usr/local/man/man1/mysql.1.gz
serv# file /usr/local/bin/mysql
/usr/local/bin/mysql: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), stripped
serv#    
повтори
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Zedik » 2007-12-13 15:09:12

lissyara писал(а): serv# file /usr/local/bin/mysql
/usr/local/bin/mysql: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), stripped
serv# [/code]
повтори
проблема запуска mysql:
в /usr/local/bin/mysql был ASCII text
спасибо всем откликнувшимся..Лису отдельное
продолжу работу
я и не подозревал что там фигня будет

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Alex Keda » 2007-12-13 15:30:14

где-то в скриптах ошибся, > вместо | влепил...
я так с грепом дня два воевал :)))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: выборка из файла и запись в mysql скриптом

Непрочитанное сообщение Zedik » 2007-12-14 10:27:56

вот что сделал:

Код: Выделить всё

#!/bin/sh

filename=/tmp/$(date +%Y%m%d)

awk  '{ if ($6 == "LOGIN,") print $7 }' /var/log/maillog | sort -u | cut -c6-60 | sed 's/ru,/ru/g' > $filename

while read line
do

#==work
/usr/local/bin/mysql -u exim_username --password=exim_pwd --database=exim_database --execute="UPDATE mailbox SET date_expire=DATE_ADD(now(), INTERVAL 30 DAY) WHERE username = '$line' "
#==end work

done < $filename
rm /tmp/$(date +%Y%m%d)
скриптик запускается по крону в 23-59 и анализирует кто авторизовывался в течении дня и данные вносятся в БД

пока только так...
я пока в стадии обучения, так что критика и поправки приветствуются :)