On Wed, Sep 07, 2011 at 12:23:59PM +0300, [email protected] wrote: [всъщност това го беше написал Георги...] > > От cron като изпълняваш скриптове, разликата е в обкръжението, разните > > променливи не са дефинирани. > > > > Пусни env от cron и от нормална конзола и виж какво е различно, вероятно > > там > > някъде се развалят нещата. > > > > Скелета > > Пробвах с 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
Не става дума за пътищата. Както ти каза Георги, пусни командата "env" (без параметри, може и "printenv") от cron и от твоя шел, да видим дали ще има някакви разлики. Поздрави, Петър -- Peter Pentchev [email protected] [email protected] [email protected] PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am the meaning of this sentence. > > 2011/9/7 <[email protected]> > > > >> Привет на всички! > >> > >> Изчерпих се от към идеи затова реших да попитам по-знаещите :) > >> Имам елементарен 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
signature.asc
Description: Digital signature
_______________________________________________ Lug-bg mailing list [email protected] http://linux-bulgaria.org/mailman/listinfo/lug-bg
