ОС Mandriva Linux 2006. У меня настроен SARG и скрипты создания соответствующих отчетов помещены в директории cron.daily, cron.weekly, cron.monthly соответственно. Там же лежат и другие скрипты, например обновления антивируса.
Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную - из терминала - отчеты создаются, как и положено. А из-под cron они почему-то не создаются. Права на запуск скриптов даны всем, вообще-то я для скриптов Sarg установил такие-же права, как и для скрипта обновления DrWeb. Но вот обновление DrWeb происходит, а отчеты Sarg не создаются!
Почему такое происходит? Подскажите, кто знает!
>Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную
>- из терминала - отчеты создаются, как и положено. А из-под
>cron они почему-то не создаются.Внимательно посмотреть в скрипт и прописать полный путь до sarg и других запускаемых приложений.
может еще нужно дописать root перед путем к скрипту?
>может еще нужно дописать 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.
>
>>Но вот незадача - отчеты Sarg не обновляются! Если запустить скрипты вручную
>>- из терминала - отчеты создаются, как и положено. А из-под
>>cron они почему-то не создаются.
>
>Внимательно посмотреть в скрипт и прописать полный путь до sarg и других
>запускаемых приложений.Не понял, при чем здесь скрипт? Он же работает нормально, если его запускать из терминала! То есть я в терминале даю команду: /etc/cron.daily(weekly, monthly)/sarg
и скрипты запускаются и создают отчеты. А вот cron почему-то эти скрипты не запускает, хотя права на запуск их имеют все.
попробуй через третий скрипт, где
#!/bin/bash
1 строка эчо: старт, дата, тайм, файл >> /var/log/test_cron.log
2 сторока запуск соответствующего файла
3 строка эчо: стоп, дата, тайм, файл >> /var/log/test_cron.logскорее всего нужно полные пути указать.
>попробуй через третий скрипт, где
>#!/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 я их не нашел. Эти строки были созданы по умолчанию при установке системы. Я так понял, что это команда на запуск скриптов из соответствующих директорий. Но в манах я ни возможности таких команд, ни таких опций не нашел! Подскажите пожалуйста, где их искать и как расшифровать эти строки?
Теперь еще непонятнее. В первый день вышеуказанный скрипт благополучно выполнился. Я оставил его на выходные. В результате вижу в логе:
дата..
"старт создания отчета sarg"дата....
"Старт создания отчета sarg"дата...
"Старт создания отчета sarg"То есть первая часть скрипта - вывод в файл лога сообщения о старте создания скрипта - выполняется. Далее идет запуск скрипта. Видимо где-то тут (или в самом скрипте) происходит сбой. И вывод в файл лога информации об окончании работы скрипта не происходит.
Первое что приходит на ум - кривой скрипт, но почему же он тогда нормально работает при запуске вручную?!!