Щоб уникнути необхідності вводити абсолютний шлях до команди, оболонки ввели $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"