Щоб уникнути необхідності вводити абсолютний шлях до команди, оболонки ввели $PATH
змінну середовища, кожен каталог відокремлений а, :
а пошук здійснюється зліва направо. cron
часто очищає все середовище, включаючи цю $PATH
змінну. Тому сценарій може поводитися по-різному у вашому кроні порівняно з поведінкою в оболонці.
Використовуйте абсолютні шляхи
Запустіть which db2
як db2inst1
користувач, щоб отримати повний шлях для db2
програми. Якщо вихідний /usr/bin/db2
, ваша команда cron буде виглядати так:
/usr/bin/db2 connect to myDB2
Встановіть змінну PATH
Запустіть echo "$PATH"
як db2inst1
користувач, щоб отримати $PATH
змінну, і переконайтеся, що ця змінна також доступна у вашому скрипті cron. Наприклад, якби результат був /usr/local/bin:/usr/bin:/bin
, ви помістите наступний рядок у верхній частині сценарію оболонки:
export PATH="/usr/local/bin:/usr/bin:/bin"