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

 

начало

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

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

семинари ...

документи

как да ...

 

 

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

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


  • Subject: Re: [Lug-bg] bash- >mysql=неволи
  • From: Georgi Georgiev <skeleta@xxxxxxxxx>
  • Date: Wed, 7 Sep 2011 12:00:42 +0300

От 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


 

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

 

линукс за българи
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.