Скрипт 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
). В целом, по этой причине, а также в целях безопасности рекомендуется указывать полные пути в сценариях.