Я выполняю скрипт через cron, используя следующую команду:
*/10 * * * * cd /nas/app/someFolder/psox; ./RunPSOX.sh >> /tmp/trial.log 2>&1
Это выполняется пользователем root. Все PATH и JAVA_HOME установлены на корневом уровне и экспортированы. JDK 1.6 используется.
Сценарий также имеет вначале PATH , установленный внутри него (пробовал как абсолютный, так и относительный путь), также JAVA_HOME и CLASSPATH . Я добавил «env» и «java -version» в скрипт перед логикой.
Скрипт не работает через cron, но работает при запуске вручную. Причина в том, что версия jdk на уровне оболочки - это jdk 1.6, но когда скрипт выполняется через cron, он выбирает версию jdk как 1.4 и выдает ошибку Java. Я проверил связанные файлы свойств, и нигде не упоминается jdk 1.4.
Пожалуйста, посоветуйте, где еще мне нужно проверить версию jdk и сделать ее согласованной как jdk 1.6 как для оболочки, так и для скрипта при запуске через cron.