URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 75003
[ Назад ]

Исходное сообщение
"Не выполняются некоторые скрипты из директорий cron"

Отправлено andrystepa , 04-Июл-07 11:41 
ОС Mandriva Linux 2006. У меня настроен SARG и скрипты создания соответствующих отчетов помещены в директории cron.daily, cron.weekly, cron.monthly соответственно. Там же лежат и другие скрипты, например обновления антивируса.
Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную - из терминала - отчеты создаются, как и положено. А из-под cron они почему-то не создаются. Права на запуск скриптов даны всем, вообще-то я для скриптов Sarg установил такие-же права, как и для скрипта обновления DrWeb. Но вот обновление DrWeb происходит, а отчеты Sarg не создаются!
Почему такое происходит? Подскажите, кто знает!

Содержание

Сообщения в этом обсуждении
"Не выполняются некоторые скрипты из директорий cron"
Отправлено p0gank , 04-Июл-07 11:54 

>Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную
>- из терминала - отчеты создаются, как и положено. А из-под
>cron они почему-то не создаются.

Внимательно посмотреть в скрипт и прописать полный путь до sarg и других запускаемых приложений.


"Не выполняются некоторые скрипты из директорий cron"
Отправлено R4z0R , 04-Июл-07 12:18 
может еще нужно дописать root перед путем к скрипту?

"Не выполняются некоторые скрипты из директорий cron"
Отправлено andrystepa , 04-Июл-07 16:35 
>может еще нужно дописать root перед путем к скрипту?

В crontab в разделе run-parts такие команды:
01 * * * * root nice -n 19 run-parts --report /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts --report /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts --report /etc/cron.monthly

Так что все скрипты должны запускаться от root.


"Не выполняются некоторые скрипты из директорий cron"
Отправлено andrystepa , 04-Июл-07 16:27 
>
>>Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную
>>- из терминала - отчеты создаются, как и положено. А из-под
>>cron они почему-то не создаются.
>
>Внимательно посмотреть в скрипт и прописать полный путь до sarg и других
>запускаемых приложений.

Не понял, при чем здесь скрипт? Он же работает нормально, если его запускать из терминала! То есть я в терминале даю команду: /etc/cron.daily(weekly, monthly)/sarg
и скрипты запускаются и создают отчеты. А вот cron почему-то эти скрипты не запускает, хотя права на запуск их имеют все.



"Не выполняются некоторые скрипты из директорий cron"
Отправлено PixeL , 05-Июл-07 12:22 
попробуй через третий скрипт, где
#!/bin/bash
1 строка эчо: старт, дата, тайм, файл >> /var/log/test_cron.log
2 сторока запуск соответствующего файла
3 строка эчо: стоп, дата, тайм, файл >> /var/log/test_cron.log

скорее всего нужно полные пути указать.


"Не выполняются некоторые скрипты из директорий cron"
Отправлено andrystepa , 06-Июл-07 09:48 
>попробуй через третий скрипт, где
>#!/bin/bash
>1 строка эчо: старт, дата, тайм, файл >> /var/log/test_cron.log
>2 сторока запуск соответствующего файла
>3 строка эчо: стоп, дата, тайм, файл >> /var/log/test_cron.log
>
>скорее всего нужно полные пути указать.

Создал указанный файл, загнал его в crontab и он благополучно выполнился. Теперь мне не понятно содержимое crontab:
01 * * * * root nice -n 19 run-parts --report /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts --report /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts --report /etc/cron.monthly

что это за опции такие: nice -n 19 run-parts --report
В мане по cron  и по crontab я их не нашел. Эти строки были созданы по умолчанию при установке системы. Я так понял, что это команда на запуск скриптов из соответствующих директорий. Но в манах я ни возможности таких команд, ни таких опций не нашел! Подскажите пожалуйста, где их искать и как расшифровать эти строки?



"Не выполняются некоторые скрипты из директорий cron"
Отправлено andrystepa , 09-Июл-07 10:22 
Теперь еще непонятнее. В первый день вышеуказанный скрипт благополучно выполнился. Я оставил его на выходные. В результате вижу в логе:
дата..
"старт создания отчета sarg"

дата....
"Старт создания отчета sarg"

дата...
"Старт создания отчета sarg"

То есть первая часть скрипта - вывод в файл лога сообщения о старте создания скрипта - выполняется. Далее идет запуск скрипта. Видимо где-то тут (или в самом скрипте) происходит сбой. И вывод в файл лога информации об окончании работы скрипта не происходит.
Первое что приходит на ум - кривой скрипт, но почему же он тогда нормально работает при запуске вручную?!!