Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] bash- >mysql=неволи


  • Subject: Re: [Lug-bg] bash- >mysql=неволи
  • From: kingfisher@xxxxxxxxx
  • Date: Wed, 7 Sep 2011 12:23:59 +0300
  • Importance: Normal

Пробвах с  eval $CMD,но не става.Мен повече ме
притеснява че заявката си идва нормална
поне в лога на mysql-a когато идва от cron-a.
Пробвах и заявка без променливи твърда
дата и пълен път до  /bin/echo и резулата
е същият.
Сега тествах на друго дистро на едно
виртуално Убунто с друга версия на
mysql там като копирах от лога заявката и я
поставих направо в mysql-a наистина ми даде
резултат NULL.

Това са пътищата на cron-a:

SHELL=/bin/sh
USER=root
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
_=/usr/bin/env

А това на shell-a:
/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/usr/local/sbin:/opt/kde/bin:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/qt/bin




> От cron като изпълняваш скриптове, разликата е в обкръжението, разните
> променливи не са дефинирани.
>
> Пусни env от cron и от нормална конзола и виж какво е различно, вероятно
> там
> някъде се развалят нещата.
>
> Скелета
>
> 2011/9/7 <kingfisher@xxxxxxxxx>
>
>> Привет на всички!
>>
>> Изчерпих се от към идеи затова реших да попитам по-знаещите :)
>> Имам елементарен bash скрипт които се обръща към mysql база за да
>> провери
>> дадена стойност.Всичко работи и си мислех че лесно съм се отървал от
>> един
>> досаден приятел и му е време да почерпи...пуснах го скрипта в cron-a и
>> за
>> моя голяма изненада сутринта получих на пощата писмото както си му е
>> реда,
>> но вътре стойностите бяха NULL.
>> Веднага се усъмних в cron-a и правата му, провери ги ,но си бяха наред
>> за
>> всеки случаи в самият скрипт експортирах пътищата до командите,но  не
>> според мен  в това проблема.
>> Пуснах лога-а на mysql-а да видя какво пристига и всичко изглежда наред,
>> но резултата е NULL ако е изпълнено под cron-a, като го пусна на ръка си
>> работи, като копирам от лог-а на mysql-a заявката вътре в  mysql-а пак
>> си
>> работи.
>> Интересното е че не работи заявката дори ако изпълня като root със su -
>> root -c /usr/sbin/somescript.sh
>> Пробвах го и с ssh -l root 10.0.0.1 /usr/sbin/somescript.sh от друга
>> машина и пак не работи дава стойности NULL като в лога на mysql-a идва
>> нормална заявка ето и примерно какво правя:
>> QRY="SELECT SUM(GoodsTradeInSum)FROM (SELECT '$curtime' AS ReportDate,
>> goods.Name AS GoodsName, SUM(IF(ISNULL(operations.Qtty *
>> operations.Sign),
>> 0, operations.Qtty * operations.Sign)) AS StoreAvailableQuantity,
>> goods.PriceIn AS GoodsTradeInPrice, SUM(IF(ISNULL(operations.Qtty *
>> operations.Sign), 0, operations.Qtty * operations.Sign)) * goods.PriceIn
>> AS GoodsTradeInSum FROM ((((objects, goods) LEFT JOIN operations ON
>> (objects.ID = operations.ObjectID AND goods.ID = operations.GoodID))
>> LEFT
>> JOIN goodsgroups ON ABS(goods.GroupID) = goodsgroups.ID) LEFT JOIN
>> objectsgroups ON ABS(objects.GroupID) = objectsgroups.ID) LEFT JOIN
>> vatgroups ON goods.TaxGroup = vatgroups.ID WHERE (operations.Date <=
>> '$curtime 00:00:00') AND (goods.Name LIKE concat('%', 'ц-ри', '%'))
>> GROUP
>> BY goods.Code, goods.Name, goods.ID, goods.Measure1, objects.ID,
>> objects.Name, goods.PriceIn, vatgroups.VATValue) as T"
>>
>> CMD="mysql -h $HOST  -u $DB_USER -p$DB_PASS -D$DB"
>>
>>
>> echo   `$CMD << eof $QRY eof` > $LOGtmp
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Lug-bg mailing list
>> Lug-bg@xxxxxxxxxxxxxxxxxx
>> http://linux-bulgaria.org/mailman/listinfo/lug-bg
>>
> _______________________________________________
> Lug-bg mailing list
> Lug-bg@xxxxxxxxxxxxxxxxxx
> http://linux-bulgaria.org/mailman/listinfo/lug-bg
>


_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.