The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"cron, bash непонятки."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"cron, bash непонятки." 
Сообщение от ZXVF Искать по авторуВ закладки on 23-Ноя-05, 17:58  (MSK)
Есть такой скриптик:

#!/bin/bash
#
DIR=/home/oleh
FILE=mailbox.PAB
cp $DIR/$FILE /etc/skel
chown root.root /etc/skel/$FILE
chmod 0640 /etc/skel/$FILE
for loop in `ls -l /home | awk '{if($4 ~/users/) print $8}' | grep [a-z]`
do
cp -v -f $DIR/$FILE /home/$loop
chown $loop.users /home/$loop/$FILE
chmod 0640 /home/$loop/$FILE
    done
        echo "Address book updated" | mail root

Проблема - из командной строки под root - работает.
Запускаешь через cron отрабатывает всё кроме цикла.

OS  - Slackware 10.2

Помогите плз., где грабли ?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "cron, bash непонятки." 
Сообщение от Provokator Искать по авторуВ закладки(ok) on 23-Ноя-05, 18:11  (MSK)
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun


Под рутом его запускай

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "cron, bash непонятки." 
Сообщение от ZXVF Искать по авторуВ закладки on 23-Ноя-05, 18:38  (MSK)
Спасибо за ответ.

Из крона запускал под root.

Попробовал предложенный способ - та же фигня.

>#minute hour    mday    month  
>wday    who     command
>#
>*/5     *      
>*       *    
>   *       root
>   /usr/libexec/atrun
>
>
>Под рутом его запускай


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "cron, bash непонятки." 
Сообщение от allez Искать по авторуВ закладки(ok) on 24-Ноя-05, 07:23  (MSK)
>Спасибо за ответ.
>
>Из крона запускал под root.
>
>Попробовал предложенный способ - та же фигня.


Укажите в скрипте полные имена к командам ("/bin/awk" вместо "awk" и т. д.)
или определите в нем переменную PATH. Скрипт, скорее всего, просто не
находит эти самые команды.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "cron, bash непонятки." 
Сообщение от Дениска Искать по авторуВ закладки(??) on 24-Ноя-05, 08:49  (MSK)
а если попробовать прописать полный путь к прогам, например к awk
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "cron, bash непонятки." 
Сообщение от allez Искать по авторуВ закладки(ok) on 24-Ноя-05, 09:34  (MSK)
>а если попробовать прописать полный путь к прогам, например к awk


Дениска, вы просто читаете мои мысли. Только как-то медленно :-D

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "cron, bash непонятки." 
Сообщение от ZXVF Искать по авторуВ закладки on 24-Ноя-05, 11:54  (MSK)
>>а если попробовать прописать полный путь к прогам, например к awk
>
>
>Дениска, вы просто читаете мои мысли. Только как-то медленно :-D


Спасибо всем за ответы.

Сдалал как написано - НЕ работает.

Другие скрипты отрабатывают нормально.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "cron, bash непонятки." 
Сообщение от allez Искать по авторуВ закладки(ok) on 24-Ноя-05, 13:16  (MSK)
>Спасибо всем за ответы.
>
>Сдалал как написано - НЕ работает.
>
>Другие скрипты отрабатывают нормально.


Посмотрите почту root (cron по умолчанию отправляет stdout и stderr
владельцу задания) и логи cron. Можете их и тут показать, глядишь, и
раскумекаем.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "cron, bash непонятки." 
Сообщение от ZXVF Искать по авторуВ закладки on 24-Ноя-05, 14:40  (MSK)
/var/log/cron - пусто.
/var/log/messages - ничего от Cron
/var/log/syslog  - ничего от Cron

В почте рута (stdout и stderr от Cron) - тоже нечего.


>>Спасибо всем за ответы.
>>
>>Сдалал как написано - НЕ работает.
>>
>>Другие скрипты отрабатывают нормально.
>
>
>Посмотрите почту root (cron по умолчанию отправляет stdout и stderr
>владельцу задания) и логи cron. Можете их и тут показать, глядишь, и
>
>раскумекаем.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "cron, bash непонятки." 
Сообщение от lynx Искать по авторуВ закладки(??) on 24-Ноя-05, 15:02  (MSK)
#!/bin/bash
#
DIR=/home/oleh
FILE=mailbox.PAB
cp $DIR/$FILE /etc/skel
chown root.root /etc/skel/$FILE
chmod 0640 /etc/skel/$FILE
for loop in `ls -l /home | awk '{if($4 ~/users/) print $8}' | grep [a-z]`
do
cp -v -f $DIR/$FILE /home/$loop
chown $loop.users /home/$loop/$FILE
chmod 0640 /home/$loop/$FILE
    done
        echo "Address book updated" | mail root


попробуйте подебагить :)
например перед
for loop in...
сделать
set>/tmp/debug1
echo `ls -l /home | awk '{if($4 ~/users/) print $8}'`>/tmp/debug2

после
do
и перед
cp -v -f $DIR...
echo "loop=$loop">/tmp/debug3

....

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "cron, bash непонятки." 
Сообщение от lynx Искать по авторуВ закладки(??) on 24-Ноя-05, 15:05  (MSK)
>попробуйте подебагить :)
>например перед
>for loop in...
>сделать
>set>/tmp/debug1
>echo `ls -l /home | awk '{if($4 ~/users/) print $8}'`>/tmp/debug2
>
>после
>do
>и перед
>cp -v -f $DIR...
>echo "loop=$loop">/tmp/debug3
>
>....

пардон,
echo "loop=$loop">/tmp/debug3
аменить на
echo "loop=$loop">>/tmp/debug3

:)))

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "cron, bash непонятки." 
Сообщение от ZXVF Искать по авторуВ закладки on 24-Ноя-05, 15:56  (MSK)
Спасибо за совет !

Проблема разрулилась.

Кому интересно - ответ здесь:

http://www.linux.org.ru/view-message.jsp?msgid=1167473&back=group.jsp%3Fgroup%3D1340&nocache=-404126084


>>попробуйте подебагить :)
>>например перед
>>for loop in...
>>сделать
>>set>/tmp/debug1
>>echo `ls -l /home | awk '{if($4 ~/users/) print $8}'`>/tmp/debug2
>>
>>после
>>do
>>и перед
>>cp -v -f $DIR...
>>echo "loop=$loop">/tmp/debug3
>>
>>....
>
>пардон,
>echo "loop=$loop">/tmp/debug3
>аменить на
>echo "loop=$loop">>/tmp/debug3
>
>:)))


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру