Я пытаюсь запустить скрипт 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
Есть идеи?
Необходимо получить неуловимый вывод crontab, таким образом, Вы видите то, на что он жалуется.
Добавляют-x к Вашей хижине для подробного вывода в Вашем сценарии: #!/bin/sh -x
Набор задание крона для выполнения более часто, в то время как Вы диагностируете его: */1 * * * * root /home/absolute/runsikulix -r /home/absolute/auto/test.sikuli
Crontab должен регистрироваться к/var/log/syslog по умолчанию. Выполните grep CRON /var/log/syslog
и проверьте вывод. Если Вы видите, что Ваше задание выполняется затем, Вы можете tail -f
системный журнал, когда крон работает, и посмотрите то, на что это жалуется.
Конфигурирование 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 корня, который иллюстрирует некоторые обходные решения для контакта с проблемами среды:
Jython
илиIronPython
, который don' t имеют GIL. – OrangeDog 26 August 2017 в 02:42