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

Исходное сообщение
"запуск скрипта через cron"

Отправлено trasherkat , 10-Дек-08 13:26 
Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера. В параметрах mencodera в скрипте указано время захвата 18 часов. При запуске скрипта из терминала все работает отлично. При запуске через cron захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron как то ограничивает максимальное время выполнения скрипта? Не могу решить эту проблему. Буду благодарен за любую помошь.

Содержание

Сообщения в этом обсуждении
"запуск скрипта через cron"
Отправлено Andrey Mitrofanov , 10-Дек-08 13:35 
>Может быть cron как то ограничивает максимальное время выполнения скрипта?

Ну, попробуй его, скрипт, в screen-е пускать...

http:/search.shtml?words=screen&sort=score&exclude=&restrict...
http:/keywords/screen.html
и пр.


"запуск скрипта через cron"
Отправлено trasherkat , 10-Дек-08 14:11 
>Ну, попробуй его, скрипт, в screen-е пускать...

Хм. Чтото не пойму как запустить screen на экран? При запуске его из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на экран ничего не выводится.


"запуск скрипта через cron"
Отправлено Andrey Mitrofanov , 10-Дек-08 14:34 
>>Ну, попробуй его, скрипт, в screen-е пускать...
>
>Хм. Чтото не пойму как запустить screen на экран? При запуске его
>из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на
>экран ничего не выводится.

screen -ls  = посмотреть "запущенные" screen-ы
screen -R 11887..host = "подключить" экран к такой-то сессии
Ctrl-a d = открючить экран от сессии, оставив её "в фоне" работать

Пример: запустил команду (sleep) в новой scrren сессии, посмотрел список сессий, подождал завершения, посмотрел список сессий снова.

$ screen -d -m sleep 10
$ screen -ls
There are screens on:
        4329.pts-0.host (Detached)
        11887..host     (Detached)
2 Sockets in /var/run/screen/S-.

$ sleep 10; screen -ls
There is a screen on:
        4329.pts-0.host (Detached)
1 Socket in /var/run/screen/S-.

$ _

~ одной сессией меньше = запущенный sleep отработал.

Приложение: В кроне -- screen -d -m /path/to/your/scripppttt


"запуск скрипта через cron"
Отправлено trasherkat , 10-Дек-08 15:21 
спасибо! отлично! метод понял, вопрос решен! :)

"запуск скрипта через cron"
Отправлено Alex , 22-Май-14 20:58 
>>Ну, попробуй его, скрипт, в screen-е пускать...
> Хм. Чтото не пойму как запустить screen на экран? При запуске его
> из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на
> экран ничего не выводится.

Бла точно такая точно такая же проблемма. Скрипт написанный на питоне выполнялся с консоли а при запуске из крона мог отработать а мог упасть. Целый день убил. Спасибо огромное помогло.


"запуск скрипта через cron"
Отправлено mikra , 10-Дек-08 16:48 
>Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера.
>В параметрах mencodera в скрипте указано время захвата 18 часов. При
>запуске скрипта из терминала все работает отлично. При запуске через cron
>захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все
>пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron
>как то ограничивает максимальное время выполнения скрипта? Не могу решить эту
>проблему. Буду благодарен за любую помошь.

Если помог screen, а читать вывод скрипта не понадобится, то может просто все в /dev/null выбросить?
srv# /my/consolescript &> /dev/null
или в файл какой...
"&>" перенаправляет и вывод и ошибки


"запуск скрипта через cron"
Отправлено trasherkat , 17-Дек-08 14:20 
>Если помог screen, а читать вывод скрипта не понадобится, то может просто
>все в /dev/null выбросить?
>srv# /my/consolescript &> /dev/null
>или в файл какой...
>"&>" перенаправляет и вывод и ошибки

перенаправлять не пришлось. скрипт работает 18 часов в сутки, как и планировалось. screen автоматом убивается после завершения работы mencoder'а. все отлично :)
лог собирался вести, но передумал.


"запуск скрипта через cron"
Отправлено devcoder , 10-Дек-08 17:08 
>Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера.
>В параметрах mencodera в скрипте указано время захвата 18 часов. При
>запуске скрипта из терминала все работает отлично. При запуске через cron
>захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все
>пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron
>как то ограничивает максимальное время выполнения скрипта? Не могу решить эту
>проблему. Буду благодарен за любую помошь.

Нет ли в конце лога  
... interrupted by signal 2 in module ...
?
Если есть, покури в сторону ulimit (man bash /ulimit),
возможно /etc/security/limits.conf или ещё где-нибудь в bashrc,
учитывая что через cron скрипт работает от рута.


"запуск скрипта через cron"
Отправлено trasherkat , 17-Дек-08 14:21 
>
>Нет ли в конце лога
>... interrupted by signal 2 in module ...
>?
>Если есть, покури в сторону ulimit (man bash /ulimit),
>возможно /etc/security/limits.conf или ещё где-нибудь в bashrc,
>учитывая что через cron скрипт работает от рута.

лог был правильный, без ошибок. в чем проблема была не понял, но screen помог.
дальше копать времени нет, т.к. следующие задачи начальство выкатило :)
если будет время, то попробую понять глубже.