К сожалению, я не силен в программировании. Может кто-нибудь подскажет начинающему как сделать скрипт записывающий текущий курс доллара в MySQL. (ASPLinux9.2)
Вот что у меня получилось на сегодняшний день:
=cut================================================
#!/bin/shcur_date=`date +%Y%m%d`
cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`mysql -uuser_name -puser_pass;
# SQL запросы к базе данных которые я не знаю как засунуть в скрипт
USE user_base;
INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
=cut================================================Можно ведь как-то засунуть SQL-запросы из shell-скрипта, но вот как?!
#!/bin/shcur_date=`date +%Y%m%d`
cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`mysql -uuser_name -puser_pass user_base <<EOM
INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
EOM
Может потребоваться сделать что-то вроде,INSERT INTO rate (date, rate) VALUES ('$cur_date', $cur_rate);
если date у тебя типа string.
>Может потребоваться сделать что-то вроде,
>
>INSERT INTO rate (date, rate) VALUES ('$cur_date', $cur_rate);
>
>если date у тебя типа string.
Всё, нашел ответ!!!
Вместо EOM ставим QUERY_INPUT и всё работаетАССА, спасибо за помощь, вопрос снят
>#!/bin/sh
>
>cur_date=`date +%Y%m%d`
>cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`
>
>mysql -uuser_name -puser_pass user_base <<EOM
>INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
>EOM
получаю следующую ошибку:ERROR 1064 at line 2: У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'EOM' на строке 1
Для справки:
mysql> \s
--------------
mysql Ver 12.22 Distrib 4.0.18, for pc-linux (i686)Server version: 4.0.18-Max-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 1 day 20 hours 50 min 30 sec