LINUX.ORG.RU
ФорумAdmin

Cron, вывод, консоль, сохранить в файл

 ,


0

3

Всем привет! подскажите пожалуйста как решить проблему. Есть некоторое приложение написаное на с++ (start_app), start_app после запуска создает log файлик, log файлик создается там же где и запускается start_app. start_app я запускаю в cron, вот задание в кроне /5 * * * * /vmfs/volumes/52fe4ddc-691af70a-6f9f-0025905456ea/start_app.

По истечении 5 минту и так далее log файлик так и не появляется. Если я запускаю start_app вручную, то все нормально, работает.

В /var/log/syslog - появляются вот такие строчки crond[33398]: crond: USER root pid 1172494 cmd /vmfs/volumes/52fe4ddc-691af70a-6f9f-0025905456ea/start_app Ошибок нет, ну или я их не нашел.

Приложение start_app само запускает еще одну утилиту(raidinf). Сам по себе raidinf - выводит на экран информацию.

У меня сложилось впечатление, что проблема в том, что cron не может работать если приложение выводит что то на экран, ну как то так.

Попробуй вывод перенаправить в какой-нибудь /tmp/start_app_output. А вообще плохой тон, когда приложение гадит под себя или непонятно куда. Скорее всего твой log-файл создаётся, но не там, где ты его ищешь.

IvS ()

Скорее всего твой log-файл создаётся, но не там, где ты его ищешь.

+1

пропиши в кроне cd /рабочая_директория_скрипта && сам скрипт

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

afanasiy ★★★★ ()
Ответ на: комментарий от afanasiy

Спасибо за ответы, действительно пути нужно прописать абсалютные, log файл создавался в другом месте. Но проблема с записью в файл инфрмации которая выводится в консоль приложением raidinf есть. Файл пустой.

mmet10182 ()
Ответ на: комментарий от mmet10182

Если приложение выводит что-то на консоль, то будучи запущено из cron'a, он перешлёт вывод на почту.
Смотри почту пользователя разместившего задание.
# mail
или
# cat /var/spool/mail/<user_name>

init3 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.