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

2011-09-07 Thread Yordan Radunchev
работната директория на скрипта когато ти го изпълняваш и когато cron
го стартира?

2011/9/7  kingfis...@almus.net:
 Привет на всички!

 Изчерпих се от към идеи затова реших да попитам по-знаещите :)
 Имам елементарен 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@linux-bulgaria.org
 http://linux-bulgaria.org/mailman/listinfo/lug-bg


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


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

2011-09-07 Thread kingfisher
Скрипта се намира в /usr/local/sbin сега го
преместих и в /usr/bin/, но ефекта е
никакъв.cron env:

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

В самият скрипт имам:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export PATH

 работната директория на скрипта когато
 ти го изпълняваш и когато cron
 го стартира?

 2011/9/7  kingfis...@almus.net:
 Привет на всички!

 �зчерпих се от към идеи затова реших да
 попитам по-знаещите :)
 �мам елементарен 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@linux-bulgaria.org
 http://linux-bulgaria.org/mailman/listinfo/lug-bg


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



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


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

2011-09-07 Thread Georgi Georgiev
От cron като изпълняваш скриптове, разликата е в обкръжението, разните
променливи не са дефинирани.

Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там
някъде се развалят нещата.

Скелета

2011/9/7 kingfis...@almus.net

 Привет на всички!

 Изчерпих се от към идеи затова реших да попитам по-знаещите :)
 Имам елементарен 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@linux-bulgaria.org
 http://linux-bulgaria.org/mailman/listinfo/lug-bg

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


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

2011-09-07 Thread Peter Pentchev
On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote:
 От cron като изпълняваш скриптове, разликата е в обкръжението, разните
 променливи не са дефинирани.
 
 Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там
 някъде се развалят нещата.

Мдам, и аз за нещо такова щях да кажа :)  Само една добавка:
най-вероятно поне част от проблема е свързана с locale - като гледам, в
заявката се използват символи на кирилица.  Обърни особено внимание на
евентуални разлики в променливите LANG и LC_*.

Също така... $curtime е променлива, която се задава в shell script-а,
така ли? (ако не, ще имаш проблеми с quoting с кавичките, но това не би
трябвало да се случва *само* при изпълнение от cron).

Поздрави,
Петър

-- 
Peter Pentchev  r...@ringlet.net r...@freebsd.org pe...@packetscale.com
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 thought you are now thinking.

 2011/9/7 kingfis...@almus.net
 
  Привет на всички!
 
  Изчерпих се от към идеи затова реших да попитам по-знаещите :)
  Имам елементарен 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
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


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

2011-09-07 Thread Peter Pentchev
On Wed, Sep 07, 2011 at 12:23:59PM +0300, kingfis...@almus.net 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  r...@ringlet.net r...@freebsd.org pe...@packetscale.com
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 kingfis...@almus.net
 
  Привет на всички!
 
  Изчерпих се от към идеи затова реших да попитам по-знаещите :)
  Имам елементарен 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
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


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

2011-09-07 Thread Момчил Иванов
At Wed, 7 Sep 2011 12:16:10 +0300,
Peter Pentchev wrote:
 
 [1  multipart/signed (7bit)]
 [1.1  text/plain; utf-8 (quoted-printable)]
 On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote:
  От cron като изпълняваш скриптове, разликата е в обкръжението, разните
  променливи не са дефинирани.
  
  Пусни env от cron и от нормална конзола и виж какво е различно, вероятно там
  някъде се развалят нещата.
 
 Мдам, и аз за нещо такова щях да кажа :)  Само една добавка:
 най-вероятно поне част от проблема е свързана с locale - като гледам, в
 заявката се използват символи на кирилица.  Обърни особено внимание на
 евентуални разлики в променливите LANG и LC_*.

за кирилицата е важно също set names и set charset или 
--default-character-set=charset_name:

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
man mysql(1)
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


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

2011-09-07 Thread Peter Pentchev
On Wed, Sep 07, 2011 at 11:57:29AM +0200, Момчил Иванов wrote:
 At Wed, 7 Sep 2011 12:16:10 +0300,
 Peter Pentchev wrote:
  
  [1  multipart/signed (7bit)]
  [1.1  text/plain; utf-8 (quoted-printable)]
  On Wed, Sep 07, 2011 at 12:00:42PM +0300, Georgi Georgiev wrote:
   От cron като изпълняваш скриптове, разликата е в обкръжението, разните
   променливи не са дефинирани.
   
   Пусни env от cron и от нормална конзола и виж какво е различно, вероятно 
   там
   някъде се развалят нещата.
  
  Мдам, и аз за нещо такова щях да кажа :)  Само една добавка:
  най-вероятно поне част от проблема е свързана с locale - като гледам, в
  заявката се използват символи на кирилица.  Обърни особено внимание на
  евентуални разлики в променливите LANG и LC_*.
 
 за кирилицата е важно също set names и set charset или 
 --default-character-set=charset_name:
 
 http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
 man mysql(1)

...но това не би трябвало да има значение точно в конкретния случай,
ако той пуска същия shell-скрипт от същия потребителски акаунт със
същата home-директория и т.н.  Да, по принцип е хубаво да се знае
(и решава много проблеми), но точно сега може би не е в това работата.

Поздрави,
Петър

-- 
Peter Pentchev  r...@ringlet.net r...@freebsd.org pe...@packetscale.com
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
I've heard that this sentence is a rumor.


signature.asc
Description: Digital signature
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


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

2011-09-07 Thread Peter Pentchev
On Wed, Sep 07, 2011 at 01:18:59PM +0300, kingfis...@almus.net wrote:
 Да, започвам да стигам до извода, че е свързано с locala защото заявки без
 кирилица от cron-a си минават безпроблемно.
 
 на shell-a env:
 
[snip]
 LC_COLLATE=C
[snip]
 LANG=en_US.UTF-8

Пробвай да подадеш тези двете при изпълнение на скрипта през cron;
най-лесният начин е в crontab-а да напишеш:

  env LC_COLLATE='C' LANG='en_US.UTF-8' командата-която-е-била-досега

И може и да тръгне :)

Дори би могло LC_COLLATE да няма толкова голямо значение (самото то ми
се вижда малко странно и за шела ти), но за всеки случай пробвай първо
и с двете.

Поздрави,
Петър

-- 
Peter Pentchev  r...@ringlet.net r...@freebsd.org pe...@packetscale.com
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This sentence was in the past tense.


signature.asc
Description: Digital signature
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


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

2011-09-07 Thread kingfisher
Проблемът е решен, за което искам да благодаря на всички взели участие.
Стана само с  LANG=en_US.UTF-8
LC_COLLATE=C този локал е останал от миналото, този хард го тормозя от 6-7
год. и е минал през какви ли не експерименти както се вижда даже някога е
бил и десктоп.

 On Wed, Sep 07, 2011 at 01:18:59PM +0300, kingfis...@almus.net wrote:
 Да, започвам да стигам до извода, че е
 свързано с locala защото заявки без
 кирилица от cron-a си минават
 безпроблемно.

 РЅР° shell-a env:

 [snip]
 LC_COLLATE=C
 [snip]
 LANG=en_US.UTF-8

 Пробвай да подадеш тези двете при
 изпълнение на скрипта през cron;
 най-лесният начин е в crontab-а да напишеш:

   env LC_COLLATE='C' LANG='en_US.UTF-8'
 командата-която-е-била-досега

 Р#65533; може Рё РґР° тръгне :)

 Дори би могло LC_COLLATE да няма толкова
 голямо значение (самото то ми
 се вижда малко странно и за шела ти), но
 за всеки случай пробвай първо
 и с двете.

 Поздрави,
 Петър

 --
 Peter Pentchevr...@ringlet.net r...@freebsd.org pe...@packetscale.com
 PGP key:  http://people.FreeBSD.org/~roam/roam.key.asc
 Key fingerprint   FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
 This sentence was in the past tense.
 ___
 Lug-bg mailing list
 Lug-bg@linux-bulgaria.org
 http://linux-bulgaria.org/mailman/listinfo/lug-bg



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


[Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Ivaylo Toshev
Здравейте,

Много спешно ми трябва някакъв инструмент, с който мога под bash да
конвертирам кирилица към латиница. Най-добре поточно, през  | .

някакви идеи ?

Поздрави,
Ивайло Тошев
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread George Andonov
Опитай с tr

Поздрави,
Георги Андонов




Ivaylo Toshev ivaylo.tos...@gmail.com 
To
Linux Users Group - Bulgaria lug-bg@linux-bulgaria.org
cc

bcc

Subject
[Lug-bg] bash script конвертиране на кирилица към латиница !





Ivaylo Toshev ivaylo.tos...@gmail.com
Please respond to : Linux Users Group - Bulgaria 
lug-bg@linux-bulgaria.org
Sent by: lug-bg-boun...@linux-bulgaria.org 
06.04.2011 11:47

Здравейте,

Много спешно ми трябва някакъв инструмент, с който мога под bash да 
конвертирам кирилица към латиница. Най-добре поточно, през  | .

някакви идеи ?

Поздрави,
Ивайло Тошев

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







__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Georgi Chorbadzhiyski
Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled:
 Здравейте,
 
 Много спешно ми трябва някакъв инструмент, с който мога под bash да
 конвертирам кирилица към латиница. Най-добре поточно, през  | .

#!/usr/bin/env php
?php
error_reporting(E_ALL);

function valid_utf8($input) {
return @iconv(UTF-8, UTF-8, $input) == $input;
}

function cyr_to_lat($data) {
if (preg_match('/Ж[а-я]/',$data)) { $data = 
str_replace('Ж','Zh',$data); } else { $data = str_replace('Ж','ZH',$data); }
if (preg_match('/Ч[а-я]/',$data)) { $data = 
str_replace('Ч','Ch',$data); } else { $data = str_replace('Ч','CH',$data); }
if (preg_match('/Ш[а-я]/',$data)) { $data = 
str_replace('Ш','Sh',$data); } else { $data = str_replace('Ш','SH',$data); }
if (preg_match('/Щ[а-я]/',$data)) { $data = 
str_replace('Щ','Sht',$data); } else { $data = str_replace('Щ','SHT',$data); }
if (preg_match('/Ю[а-я]/',$data)) { $data = 
str_replace('Ю','Iu',$data); } else { $data = str_replace('Ю','IU',$data); }
if (preg_match('/Я[а-я]/',$data)) { $data = 
str_replace('Я','Ia',$data); } else { $data = str_replace('Я','IA',$data); }
$data = 
strtr($data,'АБВГДЕЗИЙКЛМНОПРСТУФХЦЪЬЫЭЦ','ABVGDEZIYKLMNOPRSTUFHCC');

$data = str_replace('ж','zh',$data);
$data = str_replace('ч','ch',$data);
$data = str_replace('ш','sh',$data);
$data = str_replace('щ','sht',$data);
$data = str_replace('ю','iu',$data);
$data = str_replace('я','ja',$data);
$data = 
strtr($data,'абвгдезийклмнопрстуфхьъьыэц','abvgdeziyklmnoprstufhcc');
return $data;
}

$f = fopen(php://stdin, r);
while ($s = fread($f, 4096)) {
if (valid_utf8($s))
print cyr_to_lat(iconv(UTF-8, Windows-1251, $s));
else
print cyr_to_lat($s);
}
fclose($f);
?

Записваш горното като cyr2lat.php

и после ползваш:

echo Кривата Уфтса, прескочи куцото Куче на Юруш! | cyr2lat.php

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
#!/usr/bin/env php
?php
error_reporting(E_ALL);

function valid_utf8($input) {
return @iconv(UTF-8, UTF-8, $input) == $input;
}

function cyr_to_lat($data) {
if (preg_match('/Æ[à-ÿ]/',$data)) { $data = 
str_replace('Æ','Zh',$data); } else { $data = str_replace('Æ','ZH',$data); }
if (preg_match('/×[à-ÿ]/',$data)) { $data = 
str_replace('×','Ch',$data); } else { $data = str_replace('×','CH',$data); }
if (preg_match('/Ø[à-ÿ]/',$data)) { $data = 
str_replace('Ø','Sh',$data); } else { $data = str_replace('Ø','SH',$data); }
if (preg_match('/Ù[à-ÿ]/',$data)) { $data = 
str_replace('Ù','Sht',$data); } else { $data = str_replace('Ù','SHT',$data); }
if (preg_match('/Þ[à-ÿ]/',$data)) { $data = 
str_replace('Þ','Iu',$data); } else { $data = str_replace('Þ','IU',$data); }
if (preg_match('/ß[à-ÿ]/',$data)) { $data = 
str_replace('ß','Ia',$data); } else { $data = str_replace('ß','IA',$data); }
$data = 
strtr($data,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÚÜÛÝÖ','ABVGDEZIYKLMNOPRSTUFHCC');

$data = str_replace('æ','zh',$data);
$data = str_replace('÷','ch',$data);
$data = str_replace('ø','sh',$data);
$data = str_replace('ù','sht',$data);
$data = str_replace('þ','iu',$data);
$data = str_replace('ÿ','ja',$data);
$data = 
strtr($data,'àáâãäåçèéêëìíîïðñòóôõüúüûýö','abvgdeziyklmnoprstufhcc');
return $data;
}

$f = fopen(php://stdin, r);
while ($s = fread($f, 4096)) {
if (valid_utf8($s))
print cyr_to_lat(iconv(UTF-8, Windows-1251, $s));
else
print cyr_to_lat($s);
}
fclose($f);
?
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Georgi Chorbadzhiyski
Around 04/06/2011 12:16 PM, Georgi Chorbadzhiyski scribbled:
 Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled:
 Здравейте,

 Много спешно ми трябва някакъв инструмент, с който мога под bash да
 конвертирам кирилица към латиница. Най-добре поточно, през  | .
 
 #!/usr/bin/env php
 ?php
   error_reporting(E_ALL);
 

...игнорирай прикачения файл, че в него е объркан encoding-а. Просто направи
copy+paste на текста в писмото.

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Ivaylo Toshev
Мерси Жоро,

На входа подавам валиден UTF-8 , обаче на изхода получавам същата кирилица в
CP1251:

[root@radon backup]# cat test.csv
ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935
[root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f
CP1251 -t UTF-8
ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935




2011/4/6 Georgi Chorbadzhiyski g...@unixsol.org

 Around 04/06/2011 12:16 PM, Georgi Chorbadzhiyski scribbled:
  Around 04/06/2011 11:47 AM, Ivaylo Toshev scribbled:
  Здравейте,
 
  Много спешно ми трябва някакъв инструмент, с който мога под bash да
  конвертирам кирилица към латиница. Най-добре поточно, през  | .
 
  #!/usr/bin/env php
  ?php
error_reporting(E_ALL);
 

 ...игнорирай прикачения файл, че в него е объркан encoding-а. Просто
 направи
 copy+paste на текста в писмото.

 --
 Georgi Chorbadzhiyski
 http://georgi.unixsol.org/

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


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Georgi Chorbadzhiyski
Around 04/06/2011 02:00 PM, Ivaylo Toshev scribbled:
 Мерси Жоро,
 
 На входа подавам валиден UTF-8 , обаче на изхода получавам същата кирилица в
 CP1251:
 
 [root@radon backup]# cat test.csv
 ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935
 [root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f
 CP1251 -t UTF-8
 ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935

По-принцип тествах с utf-8 вход, но е възможно и да не работи,
зтова опитай с:

iconv -futf8 -tcp1251  test.csv | /home/edi/bin/cyr2lat.php | iconv -f CP1251 
-t UTF-8

Друга идея, виж дали php файлът е записан с 1251 кирилица в него, защото
ако не е, няма да работи.

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash script конвертиране на кирилица към латиница !

2011-04-06 Thread Ivaylo Toshev
Това беше ключа от палатката - PHP скрипта беше UTF-8.

Благодаря много !


2011/4/6 Georgi Chorbadzhiyski g...@unixsol.org

 Around 04/06/2011 02:00 PM, Ivaylo Toshev scribbled:
  Мерси Жоро,
 
  На входа подавам валиден UTF-8 , обаче на изхода получавам същата
 кирилица в
  CP1251:
 
  [root@radon backup]# cat test.csv
  ТК СУХОДОЛ|ОКОЛОВРЪСТЕН ПЪТ 935
  [root@radon backup]# cat test.csv | /home/edi/bin/cyr2lat.php |iconv -f
  CP1251 -t UTF-8
  ТК СУХОДОЛ|ОКОЛОВCЪСТЕН ПЪТ 935

 По-принцип тествах с utf-8 вход, но е възможно и да не работи,
 зтова опитай с:

 iconv -futf8 -tcp1251  test.csv | /home/edi/bin/cyr2lat.php | iconv -f
 CP1251 -t UTF-8

 Друга идея, виж дали php файлът е записан с 1251 кирилица в него, защото
 ако не е, няма да работи.

 --
 Georgi Chorbadzhiyski
 http://georgi.unixsol.org/

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


Re: [Lug-bg] Bash gimnastiki

2009-10-26 Thread Martin Kolev
| Здравейте,
|
|Драсти,
| 
| Искам първо да вметна, че не съм програмист и ползвам BASH 
|от дъжд на  
| вятър, т.е. пълен лаик.
| 
| Ето и какво ме накара да пиша тук:
| Реших с помощта на rrdtool да чертая графика на прихванатите 
|вируси от 
| антивирусната ми програма. За целта си направих един прост BASH 
| скрипт, който се изпълнява с помощта на procmail, когато се прихване 
| вирус от антивирусната програма, като целта му е да увеличава с 
| единица стойността  на едно число - индекс:
| 
| 
| #!/bin/bash
| 
| virusvar=`/bin/cat /etc/rrdtool/mail/virus-count`
| ((virusvar++))
| /bin/echo -n $virusvar  /etc/rrdtool/virus/virus-count
| 
| 
| 
| Всичко си сработва много добре, но когато сървъра се 
|натовари (т.к. си 
| е  бая стар и е с много малко RAM памет) поредността на 
|числото, което 
| се  записва във virus-count се обърква. Прави ми 
|впечатление, че това 
| се  случва в момент, когато е натоварен и четенето/писането 
|от и във  
| virus-count става в почти един и същи момент.
| 
| Много съм любопитен да разбера защо се случва това?
|
|Накратко, както обяси и Пенчев, твоя скрипт не е reentrant, 
|т.е. не е здравословно за се влиза в него докато предното му 
|изпълнение не е приключило защото има споделен ресурс, т.е. 
|файла и цялата операция става неопределена.
| 
|Ето ти още две решения:
|
|1) брутално: procmail вика mktemp който създава празни файлове 
|с уникални имена в дадена директория и ти ги бройкаш от време 
|на време - нямам споделен ресурс, няма да хаби дисково 
|пространство, и едва ли ше удариш лимита по брой файлове на 
|файловата система ;-)
|
|2) чрез signal handlers (фнимателно със signal handlers, да са 
|много леки) 
|http://www.gnu.org/software/libc/manual/html_node/Nonreentrancy
|.html#Nonreentrancy
|
|компилираш следната програмка:
|
|#include stdio.h
|#include stdlib.h
|#include signal.h
|
|/* This variable is set by the SIGALRM signal handler. */ 
|volatile sig_atomic_t flag = 0;
|/* Ugly global counter */
|volatile long c = 0;
|
|void print_event() {
|fprintf(stdout, %ld\n, c);
|};
|
|void register_event() {
|++c;
|};
|
|int main (void)
|{
|signal(SIGALRM, register_event);
|signal(SIGUSR1, print_event);
|
|sigset_t block_alarm;
|/* Initialize the signal mask. */
|sigemptyset (block_alarm);
|sigaddset (block_alarm, SIGALRM);
|
|while (1) {
|/* Check if a signal has arrived; if so, reset 
|the flag. */
|sigprocmask (SIG_BLOCK, block_alarm, NULL);
|if (flag)
|flag = 0;
|
|sigprocmask (SIG_UNBLOCK, block_alarm, NULL);
|}
|}
|
|
|Казваш на procmail да й праща SIGALRM с kill -s когато дойде 
|вирус (това е доста по-бързо от отваряне и писане във файл;-), 
|а ти можеш да я тестваш за дуракоустойчивост така, ако 
|приемем, че се казва a.out:
|
|пращаш бройка сигнали (все едно пратени от procmail):
|for a in `seq 1 100`; do kill -s SIGALRM `pidof a.out`; done
|
|питаш я колко са получени:
|kill -s SIGUSR1 `pidof a.out`
|
|(трябва да е стартирана разбира се и пише на stdout)
|
|--
|pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu


Много Ви благодаря за подробните разяснения. 
Реших да ползвам mktemp и в момента всичко си сработва.

Поздрави и лека работа!
Мартин Колев 

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


Re: [Lug-bg] Bash gimnastiki

2009-10-26 Thread George Danchev
--cut--
 Много Ви благодаря за подробните разяснения.
 Реших да ползвам mktemp и в момента всичко си сработва.

Аз малко загрубих нещата като написах, че създадените празни файлове от mktemp 
не хабят място, но все пак файловата система ги регистрира изхабявайки 
няколкобайта за файл, зависи и от самата файлова система де, но горе-долу е 
нещо от рода на мегабайт за 50-100 хиляди файла.

-- 
pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


[Lug-bg] Bash gimnastiki

2009-10-24 Thread Martin Kolev
Здравейте,

Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на вятър,
т.е. пълен лаик.

Ето и какво ме накара да пиша тук: 
Реших с помощта на rrdtool да чертая графика на прихванатите вируси от
антивирусната ми програма. За целта си направих един прост BASH скрипт,
който се изпълнява с помощта на procmail, когато се прихване вирус от
антивирусната програма, като целта му е да увеличава с единица стойността на
едно число - индекс:


#!/bin/bash

virusvar=`/bin/cat /etc/rrdtool/mail/virus-count`
((virusvar++))
/bin/echo -n $virusvar  /etc/rrdtool/virus/virus-count 



Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е бая
стар и е с много малко RAM памет) поредността на числото, което се записва
във virus-count се обърква. Прави ми впечатление, че това се случва в
момент, когато е натоварен и четенето/писането от и във virus-count става в
почти един и същи момент. 

Много съм любопитен да разбера защо се случва това?


Поздрави,
Мартин Колев
 

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


Re: [Lug-bg] Bash gimnastiki

2009-10-24 Thread Peter Pentchev
On Sat, Oct 24, 2009 at 04:33:28PM +0300, Martin Kolev wrote:
 Здравейте,
 
 Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на вятър,
 т.е. пълен лаик.
 
 Ето и какво ме накара да пиша тук: 
 Реших с помощта на rrdtool да чертая графика на прихванатите вируси от
 антивирусната ми програма. За целта си направих един прост BASH скрипт,
 който се изпълнява с помощта на procmail, когато се прихване вирус от
 антивирусната програма, като целта му е да увеличава с единица стойността на
 едно число - индекс:
 
 
 #!/bin/bash
 
 virusvar=`/bin/cat /etc/rrdtool/mail/virus-count`
 ((virusvar++))
 /bin/echo -n $virusvar  /etc/rrdtool/virus/virus-count 
 
 Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е бая
 стар и е с много малко RAM памет) поредността на числото, което се записва
 във virus-count се обърква. Прави ми впечатление, че това се случва в
 момент, когато е натоварен и четенето/писането от и във virus-count става в
 почти един и същи момент. 
 
 Много съм любопитен да разбера защо се случва това?

Стандартен случай на нужда от синхронизация при едновременен достъп до
общ ресурс - често се среща, има готови решения.

Накратко, това, което се случва, е, че може да получиш няколко такива
съобщения почти едновременно и програмката ти да се изпълни няколко
пъти, преди първите да са свършили съвсем.  Тъй като цялото изпълнение
на един шел-скрипт е доста сложна операция, особено когато се изпълняват
и външни програми, напълно е възможно не само да бъдат пуснати няколко
такива едновременно, ами и да си прехвърлят топката по време на
изпълнение - да се изпълни някаква част от първия, после някаква част
от втория, после пак някаква част от първия, после малко от третия и т.н.

Пример:

1. Идва съобщение А, стартира се скриптът за него (да кажем скрипт А)

2. Скрипт А чете virus-count, прочита стойност 510

3. Идва съобщение Б, стартира се скриптът за него (да каем скрипт Б)

4. Скрипт Б чете virus-count, *и той прочита 510*

5. Скрипт А увеличава 510 с 1, получава 511, записва 511 във virus-count

6. Скрипт Б увеличава 510 с 1, получава 511, записва 511 във virus-count

Ако тръгнат да се изпълняват едновременно три копия на скриптчето,
може да се получат даже по-забавни неща, като virus-count от 510 да
стане първо 511, после 512 и накрая пак 511 :)

Решението при съвременните Unix-системи е просто - има програмка, която
понякога се казва lockfile, друг път flock, и се изпълнява по леко
различни начини, но идеята й е да създаде специален файл и тогава да
изпълни твоята програма - особеното е, че ако специалният файл вече
съществува или вече е заключен, lockfile чака, докато другият го отключи.
По този начин, тъй като lockfile заключва файла, изпълнява твоята
програма и после отключва файла, е на практика сигурно, че твоята
програма няма да бъде изпълнена два пъти едновременно.

Опитай през procmail да пускаш твоето скриптче не направо, а през
lockfile с някакво избрано от теб име на файл:

  lockfile /var/lock/virus-count /usr/bin/increase-virus-count

...където /usr/bin/increase-virus-count е твоето скриптче.

Поздрави,
Петър

-- 
Peter Pentchev  r...@ringlet.netr...@space.bgr...@freebsd.org
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This sentence would be seven words long if it were six words shorter.


pgp9U9Nw8l5wP.pgp
Description: PGP signature
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] Bash gimnastiki

2009-10-24 Thread George Danchev
 Здравейте,

Драсти,
 
 Искам първо да вметна, че не съм програмист и ползвам BASH от дъжд на
  вятър, т.е. пълен лаик.
 
 Ето и какво ме накара да пиша тук:
 Реших с помощта на rrdtool да чертая графика на прихванатите вируси от
 антивирусната ми програма. За целта си направих един прост BASH скрипт,
 който се изпълнява с помощта на procmail, когато се прихване вирус от
 антивирусната програма, като целта му е да увеличава с единица стойността
  на едно число - индекс:
 
 
 #!/bin/bash
 
 virusvar=`/bin/cat /etc/rrdtool/mail/virus-count`
 ((virusvar++))
 /bin/echo -n $virusvar  /etc/rrdtool/virus/virus-count
 
 
 
 Всичко си сработва много добре, но когато сървъра се натовари (т.к. си е
  бая стар и е с много малко RAM памет) поредността на числото, което се
  записва във virus-count се обърква. Прави ми впечатление, че това се
  случва в момент, когато е натоварен и четенето/писането от и във
  virus-count става в почти един и същи момент.
 
 Много съм любопитен да разбера защо се случва това?

Накратко, както обяси и Пенчев, твоя скрипт не е reentrant, т.е. не е 
здравословно за се влиза в него докато предното му изпълнение не е приключило 
защото има споделен ресурс, т.е. файла и цялата операция става неопределена.
 
Ето ти още две решения:

1) брутално: procmail вика mktemp който създава празни файлове с уникални 
имена в дадена директория и ти ги бройкаш от време на време - нямам споделен 
ресурс, няма да хаби дисково пространство, и едва ли ше удариш лимита по брой 
файлове на файловата система ;-)

2) чрез signal handlers (фнимателно със signal handlers, да са много леки) 
http://www.gnu.org/software/libc/manual/html_node/Nonreentrancy.html#Nonreentrancy

компилираш следната програмка:

#include stdio.h
#include stdlib.h
#include signal.h

/* This variable is set by the SIGALRM signal handler. */
volatile sig_atomic_t flag = 0;
/* Ugly global counter */
volatile long c = 0;

void print_event() {
fprintf(stdout, %ld\n, c);
};

void register_event() {
++c;
};

int main (void)
{
signal(SIGALRM, register_event);
signal(SIGUSR1, print_event);

sigset_t block_alarm;
/* Initialize the signal mask. */
sigemptyset (block_alarm);
sigaddset (block_alarm, SIGALRM);

while (1) {
/* Check if a signal has arrived; if so, reset the flag. */
sigprocmask (SIG_BLOCK, block_alarm, NULL);
if (flag)
flag = 0;

sigprocmask (SIG_UNBLOCK, block_alarm, NULL);
}
}


Казваш на procmail да й праща SIGALRM с kill -s когато дойде вирус (това е 
доста по-бързо от отваряне и писане във файл;-), а ти можеш да я тестваш за 
дуракоустойчивост така, ако приемем, че се казва a.out:

пращаш бройка сигнали (все едно пратени от procmail):
for a in `seq 1 100`; do kill -s SIGALRM `pidof a.out`; done

питаш я колко са получени:
kill -s SIGUSR1 `pidof a.out`

(трябва да е стартирана разбира се и пише на stdout)

-- 
pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu


signature.asc
Description: This is a digitally signed message part.
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash glibc 2.4 problem

2007-05-01 Thread Peter Pentchev
On Tue, May 01, 2007 at 07:51:06PM +0300, Danail Petrov wrote:
  Daniel Jelev wrote:
  Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам
  swaret.  Ъпдейтвам си и гледам грешка на последния пакет (bash)
  Last login: Sun Apr 29 14:20:05 2007 from 172.16.73.30 
  http://172.16.73.30
  Linux 2.4.31.
  -bash: /lib/libc.so.6: version `GLIBC_2.4' not found (required by -bash)
  Connection to *** closed.
 
  Пробвах да кача ГлибС 2.5, но
 
  [EMAIL PROTECTED]:~/glibc-2.5# ./configure
  /bin/sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by 
  /bin/sh)
 
  Ще бъда много благодарен ако някой ми помогне да оправя този проблем без
  да се налага да преинсталирам. Благодаря предварително.
 
  Тцтцтц ... еййй , тоя slackware ... така и не му оправиха пакетната
  система ...

Хм... абе чудя се колко смисъл е имало точно в такова едно мнение -
като оставим настрана цялата история с пакетната система на Slackware
през годините, все пак трябва да се вземе предвид това, че тук става
дума за обновяване до най-новия Slackware, в който има сериозна
качествена промяна в разпределението на нещата по пакети, и за който
*няма* package manager, който да се справи с обновяването...  Това си се
случва от време на време на всяка операционна система или дистрибуция
или каквото там - при някой скок между версии да има качествени промени,
които налагат задължително ръчни побутвания оттук-оттам.

Поздрави,
Петър

-- 
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
If the meanings of 'true' and 'false' were switched, then this sentence 
wouldn't be false.


pgpu12W345blP.pgp
Description: PGP signature
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


[Lug-bg] bash glibc 2.4 problem

2007-04-29 Thread Daniel Jelev

Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам swaret.
Ъпдейтвам си и гледам грешка на последния пакет (bash)
Last login: Sun Apr 29 14:20:05 2007 from 172.16.73.30
Linux 2.4.31.
-bash: /lib/libc.so.6: version `GLIBC_2.4' not found (required by -bash)
Connection to *** closed.

Пробвах да кача ГлибС 2.5, но

[EMAIL PROTECTED]:~/glibc-2.5# ./configure
/bin/sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /bin/sh)

Ще бъда много благодарен ако някой ми помогне да оправя този проблем без да
се налага да преинсталирам. Благодаря предварително.

--
Daniel Jelev
Student at *PST*
BTK, Sofia
www.sgate.org
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


Re: [Lug-bg] bash glibc 2.4 problem

2007-04-29 Thread Georgi Chorbadzhiyski
Daniel Jelev wrote:
 Здравейте! Днес реших да ъпдейтна добрият стар Слак 10.2, използвам swaret.

Голяма грешка. До -current се обновява по следният начин:
  http://mirrors.unixsol.org/slackware/current/UPGRADE.TXT

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
___
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg


lug-bg: Bash function

2003-11-19 Thread Nickolay Kolev
,

  ,  . 
 
   .,:

function myscp(){
scp -r [EMAIL PROTECTED]:/www/.bit/$1 .
}
(myscp neshto.oshte),
   neshto.oshte  , ,  


neshto.oshte: Not a directory

   -r,  .

?alias?

   !

,


A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html



Re: lug-bg: Bash function

2003-11-19 Thread Georgi Chorbadzhiyski
Nickolay Kolev wrote:
  ,  . 
  
  .,:

function myscp(){
scp -r [EMAIL PROTECTED]:/www/.bit/$1 .
}
(myscp neshto.oshte),
   neshto.oshte  , ,  

neshto.oshte: Not a directory

   -r,  .

?alias?

   !
 debug- set -x 
   .  .
set -x
myscp nesto.oshte
set +x
--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html



Re: lug-bg: Bash function

2003-11-19 Thread Romeo Ninov
Nickolay Kolev wrote:
,

  ,  . 
  
  .,:

function myscp(){
scp -r [EMAIL PROTECTED]:/www/.bit/$1 .
}
(myscp neshto.oshte),
   neshto.oshte  , ,  

neshto.oshte: Not a directory

   -r,  .

?alias?

   !

,

  
function myscp(){
 scp -r [EMAIL PROTECTED]:/www/.bit/$1/ .
}
--

Regards: Romeo Ninov


A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html



Re: lug-bg: bash XF86Config

2003-10-21 Thread Sava Chankov
Valentin Stoykov wrote:
   XF86Config   
 (/dev/mouse).-
   ,  .

s_flag=s5 # ...

if [ -r $XF86Config_new_location ]; then
cat $XF86Config_new_location | while read LINE ; do
#^!
if echo $LINE | grep -i Section | grep -i \Device\ 1 /dev/null ;
then if [ $s_flag = s2 ] ; then echo : Section \Device\
else s_flag=s1 fi fi
if [ $s_flag = s1 ]; then if echo $LINE | grep -i Identifier 1
/dev/null ; then echo Identifier   \$IDENT_CARD\ 
$XF86Config_location else echo $LINE  $XF86Config_location fi
 fi
if echo $LINE | grep -i EndSection 1 /dev/null ; then if [ $s_flag
= s1 ]; then s_flag=s2 fi fi
# echo  s_flag :
$s_flag # 
done else echo 
$XF86Config_new_location fi
# echo  s_flag :
$s_flag #  s5.
 (pipes)  bash (subshell),   
  ,  -   
   . 
http://www.tldp.org/LDP/abs/html/subshells.html
   Advanced Bash Scripting Guide: 
http://www.tldp.org/LDP/abs/html/

--
Sava Chankov,
research and development
http://www.blueboard.biz

A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html



lug-bg: bash XF86Config

2003-10-20 Thread Valentin Stoykov
   XF86Config (/dev/mouse).
   -,  
.
   :

=====

s_flag=s5 # ...

if [ -r $XF86Config_new_location ]; then
 cat $XF86Config_new_location | while read LINE ; do


*   *   *   *
  s_flag,  
s5
*   *   *   *


#
echo  s_flag : $s_flag
# 

 done
else echo  $XF86Config_new_location
fi

#
echo  s_flag : $s_flag
#  s5.

=== /   ==

:

#!/bin/sh

echo   rc.hwconfig...
date

IDENT_MONITOR=Auto_Configured_Monitor
IDENT_CARD=Auto_Configured_Card
IDENT_SCREEN=Auto_Configured_Screen
XF86Config_location=/etc/X11/XF86Config
XF86Config_new_location=/root/XF86Config.new


rm -f $XF86Config_new_location #/root/XF86Config.new,   
.
ERR_MSG=`/usr/X11R6/bin/XFree86 -configure 21`
if [ ! $? = 0 ]; then
  echo XFree86:
  echo $ERR_MSG
#  exit
  echo   ...
fi

rm -f $XF86Config_location #XF86Config,  
 .

cat  $XF86Config_location  EOF
# 

# **
#  man  XF86Config(4/5)  ,  
#   .
# **


# **
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **
#
Section Module

# This loads the DBE extension module.

Loaddbe   # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection  extmod
  Optionomit xfree86-dga   # don't initialise the DGA extension
EndSubSection

# This loads the font modules
#Loadtype1
Loadfreetype
#Loadspeedo

# This loads the GLX module
Load   glx

EndSection

# **
# Files section.  This allows default font and rgb paths to be set
# **

Section Files

# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like .txt or .db).  There is normally
# no need to change the default.

RgbPath /usr/X11R6/lib/X11/rgb

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
#

FontPath   /usr/X11R6/lib/X11/fonts/bg/bolkhov/cp1251/misc
FontPath   /usr/X11R6/lib/X11/fonts/bg/bolkhov/cp1251/75dpi
FontPath   /usr/X11R6/lib/X11/fonts/bg/cronyx/cp1251/100dpi
FontPath   /usr/X11R6/lib/X11/fonts/bg/misc

FontPath   /usr/X11R6/lib/X11/fonts/misc/

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

#ModulePath /usr/X11R6/lib/modules

EndSection

# **
# Server flags section.
# **

Section ServerFlags

Option AllowMouseOpenFail  true


# Uncomment this to cause a core dump at the spot where a signal is
# received.  This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

#Option NoTrapSignals

# Uncomment this to disable the CrtlAltFn VT switch sequence
# (where n is 1 through 12).  This allows clients to receive these key
# events.

#Option DontVTSwitch

# Uncomment this to disable the CrtlAltBS server abort sequence
# This allows clients to receive this key event.

#Option DontZap

# Uncomment this to disable the CrtlAltKP_+/KP_- mode switching
# sequences.  This allows clients to receive these key events.

#Option DontZoom

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

#Option DisableVidModeExtension

# Uncomment this to enable the use of a non-local xvidtune client.

#Option AllowNonLocalXvidtune

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.

#Option DisableModInDev

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

#Option AllowNonLocalModInDev

# Set the basic blanking screen saver timeout.

#Option  blank time10# 10 minutes

# Set the DPMS timeouts.  These are set here because they 

lug-bg: [bash] $IFS

2003-03-14 Thread raptor
nqkoi ima li ideq kak da setna $IFS na \n, taka che da splitwa na wseki now red.. w 
momenta go prawq eto taka :

IFS=


Ama taka e mnogo grozno :(

thanx 
raptor

A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html



lug-bg: BASH!

2002-05-25 Thread qcure

Zdravejte na vsi4ki...

Ot sravnitelno skoro se zanimavam s Linux...Predi edna sedmica si slojih 
RedHat 7.3 i imam sledniq stranen problem..s bash. 6te dam konkretniq primer 
za problema:
[root@HADES Projects]# pwd
/tmp/Projects
[root@HADES Projects]# ls
bash: ./../bin/../bin/ls: No such file or directory
[root@HADES Projects]# cd ..
[root@HADES tmp]# ls
116368ddedf4577c25.details  dict2.2
Tova e kogato sum v X i si pusna konzola...i po4na da prava ne6to...Zna4i 
problema e takuv ponqkoga kogato vleza v pove4e ot 1 poddirektorii i napi6a 
ls bash ne mi q namira..i ne q izpulnqva. I po interesnoto e 4e ponqkoga 
ls si raboti normalno...v su6tata sesia v koqto ne e rabotil predi 10 min. 
A vsi4koto tova stava na 4ista instalaciq na RedHat...Drugoto koeto zabelqzah 
e 4e ako otvora pove4e ot 1 konzoli...v edna ls moje da raboti a v druga da 
ne raboti...mnogo stranno... I ne znam kvo da prava ve4e... :)) Ako nqkoj ima 
predstava ot kvo moje da e tva...molja da mi napi6e...mersi predvaritelno...

A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html




Re: lug-bg: BASH!

2002-05-25 Thread Stefan Myankov

On Sat, 25 May 2002 14:04:27 +0300, qcure wrote:
[cut]
za problema:
[root@HADES Projects]# pwd
/tmp/Projects
[root@HADES Projects]# ls
bash: ./../bin/../bin/ls: No such file or directory
Znachi toi samiq bash ti go kazva ./../bin/../bin/ls -- tova ne e 
statichen pyt (ili kazano inache path), a zavisi ot tekushtata 
direktoriq. Problema ti e v nastroikata na paths, t.e. kogato mu 
napishesh ls bash se opitva da ti go tyrsi v mestata za mu e 
ukazano v sluchaq ./../bin/../bin/ znachi kato si v /tmp nqmash 
problemi, zashtoto edna direktoriq nazad ti e root direktoriqta a ls 
se namira v /bin/ t.e. ./../ - te vryshta edno nivo po-nadolu 
posledvashtoto bin/../bin/ vliza v bin/ izliza ../ i pak vliza bin/. 
Relativen path ne e dobra ideq i naj-veroqtno se dylji na greshka pri 
configuraciq. Path ukazanieto e vyzmojno da se namira v 
/etc/profile ili vyv fail sys shodno ime v /etc/ direktoriqta, 
kakto i vyv home direktoriqta ti ~/ pod imeto .profile ili .bashrc 
. Vij za deklarirane na environment promenliva s ime PATH. Obiknoveno 
trqbva da sydyrja neshto ot roda na:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/sbin/:/usr/loca
l/sbin/
[cut]
BRGDS
Stefan Myankov, [EMAIL PROTECTED] on 26/05/2002



A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html




lug-bg: BASH linmits !

2001-12-21 Thread Ivaylo Toshev

Ot vreme navreme popisvam po niakoi - drug script, i otkrih slednia limit na 
bash.
Kogato se definira promenliva, primerno:
VAR=124124324, 
Vsichko e OK, obache ako zapochne natrupvane po tazi promenliva to 
maximalnoto chislo, koeto moje tia da suhrani e 2147483648
 
Ima li nachin da se definira po-goliam tip ?
===
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora



lug-bg: bash scripting

2001-01-13 Thread Ivan Filipov

Zdrawejte , 
interesuwa me ima li nachin chrez script na bash ili
na nqkoj drug ot shell scriptowete da move da se
obrabotwat dannite ot WEB Formi. Trqbwa mi da wzemat
dannite ot formata i sled towa da se slovat w hesh
masiw kakto e pri perl. Namerenno e edno takowa chudo
no to ne raboti kakto trqbwa :(. Az po princip mnogo
malko sym se zanimawal s pisane na scriptowe za nqkoj
ot shelowete. 
S predwaritelni blagodarnosti , Ivan.


__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/
==
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
Otpiswaneto RABOTI !!! : [EMAIL PROTECTED] UNSUBSCRIBE LUG-BG
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora