Скрипт KSH не работает правильно при запуске через задание Crontab

У меня есть сценарий KSH.

Если я запускаю его вручную, используя ./scriptname.ksh тогда это будет работать нормально.

но если я настроил задание crontab, я получаю сообщение об ошибке, что AQL не найден. (AQL похож на SQL, но не отличается).

Вот мой код скрипта.

#!/usr/bin/ksh

AQL << EOF
select count(*) from <tableT>;
exit

Вот crontab -e

12 13 * * * /usr/users/somedir/dir3/dir4/scriptname.ksh > /usr/users/somedir/dir3/dir4/testz.txt 2>&1

Вот что запускает crontab и выводит в testz.txt

/usr/users/somedir/dir3/dir4/scriptname.ksh: line 9: AQL: not found

1 ответ

Решение

AQL, вероятно, отсутствует в PATH для среды, в которой выполняется скрипт. Попробуйте использовать полный путь к AQL (например, /full/path/to/AQL). В целом, по этой причине, а также в целях безопасности рекомендуется указывать полные пути в сценариях.

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