перенаправление вывода в crontab

0

У меня есть сценарий оболочки для мониторинга статистики таблиц и Java-приложений. Он отлично работает, когда я запускаю вручную. Но если я помещу его в crontab, он застрянет, если я не перенаправлю вывод с помощью export displayкоманды. Есть идеи почему?

ivcode
источник
Вы имеете в виду export DISPLAY? Звучит так, как будто это приложение для X Windows, поэтому для его установки необходимо знать X-сервер. DISPLAYобычно устанавливается при входе в GUI, а cron не в сеансе GUI.
Бармар
Это поможет, если вы разместите полную команду.
Бармар
вот cron работа*/2 * * * * export DISPLAY=:1.0 && gnome-terminal -x /path/script.sh
ivcode
Как вы ожидаете, что gnome-терминал, цель которого - открыть на экране окно эмулятора терминала, будет работать без настройки DISPLAY?
Бармар
хорошо, я открыл дисплей «1» и кажется, cronjob работает. Но проблема в том, что если я добавлю cronjob для того же скрипта, не направляя его на экран (например: * / 2 * * * * /path/script.sh), скрипт застрянет в середине своего выполнения
ivcode

Ответы:

0

Команда должна быть:

DISPLAY=:1.0 gnome-terminal -x /path/script.sh

Поскольку gnome-терминал является X-приложением, оно использует DISPLAYпеременную окружения для подключения к X-серверу и отображения его окон. Чтобы установить переменную среды только на время одной команды, поместите ее в начало командной строки.

Barmar
источник