Я запускаю веб-приложение (MyCronTest
) на сервере Glassfish в среде Jelastic. Это веб-приложение содержит сервлет (/test
), который я хотел бы регулярно вызывать с помощью cron-job.
Поэтому я следовал этому руководству из документации Jelastic, но они используют Tomcat< /em> вместо Glassfish, и я не совсем уверен в путях и куда поместить какой файл... и теперь я потерян;)
сервлет
При вызове сервлета непосредственно в моем браузере он выводит следующую строку на System.out
:
test executed at 05/03/2014 15:00
файл bash для выполнения
Я создал сценарий bash с именем myCronJob.sh
и поместил его в каталог glassfish3/temp
:
#!/bin/bash
curl http://myGlassfish.jelastic.dogado.eu/MyCronTest/test;
Я, конечно, протестировал его, он исполняемый и работает (по крайней мере, когда я запускаю его на своем компьютере).
планировщик событий cron
согласно руководству есть файл /cron/tomcat
мне нужно отредактировать. Ну, я нашел /cron/glassfish
, который (я предполагаю) должен делать то же самое.
# IMPORTANT NOTE!
# Please make sure there is a blank line after the last cronjob entry.
*/1 * * * * /opt/glassfish3/temp/myCronJob.sh
Я добавил пустую строку в конце, как мне сказали. я даже пробовала с
*/1 * * * * /bin/bash /opt/glassfish3/temp/myCronJob.sh
как они предложили в учебнике. Но до сих пор нет выхода. Нет ошибки .. просто пустые файлы журнала.
Кто-нибудь знает, что мне здесь не хватает? Я делаю что-то неправильно?
Решение / Изменить
Благодаря Дэмиену ответу Наконец-то я смог сузить круг своей проблемы. На самом деле проблема была вызвана строкой в моем bash-скрипте:
curl http://myGlassfish.jelastic.dogado.eu/MyCronTest/test;
должны были быть
curl http://localhost/MyCronTest/test;
так как я был заблокирован брандмауэром. К счастью для меня, мой Glassfish работает на той же машине/в той же среде, поэтому localhost
работает.
Все остальное правильно.
/bin/bash /opt/glassfish3/temp/myCronJob.sh
только у вас или, собственно, у пользователя, которому вы добавили crontab? - person fedorqui 'SO stop harming'   schedule 05.03.2014myCronJob.sh
, чтобы все могли его прочитать. Он говорит, что он принадлежит пользователю 700 и группе 700, как и все файлы в каталогеtemp
. И я не вижу никакой возможности добавить или изменить каких-либо пользователей на Jelastic в этом отношении. - person GameDroids   schedule 05.03.2014rwx------
Если последнее, то попробуйте изменить разрешения на 755, используяchmod 755 /opt/glassfish3/temp/myCronJob.sh
, чтобы позволить другим пользователям читать и выполнять файл. - person Josh Jolly   schedule 05.03.2014chmod 755
.. хотя это ничего не изменило. У меня есть только ftp-доступ и я не могу возиться с ssh. Но насколько я знаю права не меняются при копировании файла через ftp - person GameDroids   schedule 05.03.2014