Невозможно запустить Sikulix 1.1.0 в Ubuntu 15.10 с помощью crontab

Я пытаюсь запустить скрипт Sikulix, но ничего не происходит.


crontab:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/absolute
MAILTO=""

# m h dom mon dow user  command
00 3    * * *   root    sh /usr/crons/this_script_works
10 3    1-5 * * root    /home/absolute/runsikulix -r /home/absolute/auto/test.sikuli

Если я запускаю его с помощью этой команды, скрипт работает хорошо:

sudo /home/absolute/runsikulix -r /home/absolute/auto/test.sikuli 

Есть идеи?

1
задан 16 April 2016 в 18:30

1 ответ

Необходимо получить неуловимый вывод crontab, таким образом, Вы видите то, на что он жалуется.

  1. Добавляют-x к Вашей хижине для подробного вывода в Вашем сценарии: #!/bin/sh -x

  2. Набор задание крона для выполнения более часто, в то время как Вы диагностируете его: */1 * * * * root /home/absolute/runsikulix -r /home/absolute/auto/test.sikuli

Crontab должен регистрироваться к/var/log/syslog по умолчанию. Выполните grep CRON /var/log/syslog и проверьте вывод. Если Вы видите, что Ваше задание выполняется затем, Вы можете tail -f системный журнал, когда крон работает, и посмотрите то, на что это жалуется.

  1. , Если вывод не является достаточно подробным, можно реконфигурировать крон для вывода к файлу журнала, следующему этим инструкциям. Это - "надлежащий" способ сделать это:

Конфигурирование crontab для входа в файл...

Это должно показать Вам каждый шаг, что crontab выполняется так, Вы видите где его сбой. Я отмечу, что среда crontab является довольно тонкой, и необходимо использовать полный вместо относительных путей в сценарии начиная с любых двоичных файлов, которые Вы вызываете, может или может не быть доступным в Вашем пути, когда это работает. Crontab забавен как этот. Для обхождения этого, можно или добавить пути к сценарию:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

... или можно вызвать каждое двоичное использование, это - полный путь:

/bin/echo "say something" && /bin/which java

можно также назвать среду пользователя встроенной:

0 5 * * * . /root/.profile; /home/absolute/runsikulix -r /home/absolute/auto/test.sikuli

Вот демонстрационный сценарий в формате шаблона Ruby, который работает под crontab корня, который иллюстрирует некоторые обходные решения для контакта с проблемами среды:

ведущее-устройство-commender.erb

0
ответ дан 17 April 2016 в 04:30
  • 1
    Или используйте Jython или IronPython, который don' t имеют GIL. – OrangeDog 26 August 2017 в 02:42

Другие вопросы по тегам:

Похожие вопросы: