2

Я пытаюсь запустить скрипт bash для учетной записи Dreamhost, которая выполняет некоторые операции резервного копирования. Программа, которую я использую для резервного копирования, установлена в домашнем каталоге учетной записи веб-хостинга в ~/usr/local/bin/ . Этот путь экспортируется в мои файлы .bashrc и .bash_profile . И когда я запускаю скрипт из командной строки bash, все идет хорошо.

Когда, однако, я устанавливаю скрипт в crontab для пользователя, используя следующую команду:

crontab -e -u <user>

Журнал crontab сообщает, что программа, которую я использую для резервного копирования, не найдена. Я проверил, используя whoami и crontab фактически запускается как, поэтому я не уверен, почему он не может найти бинарный файл программы. Какие-нибудь мысли?

1 ответ1

1

Dreamhost, похоже, имеет специальную ограниченную среду исполнения для crontab. Ссылка на эту страницу вики-снов о среде исполнения crontab:

«Из-за проблем безопасности DreamHost cron НЕ работает в обычной среде».

"Переменная среды PATH - это просто /usr /bin:/bin, а для SHELL установлено значение /bin /sh. Вы должны указать полный путь ко всем командам, не входящим в PATH по умолчанию, и всегда указывать полный путь к файлам. "

(больше текста и примеров есть по исходной ссылке, я копирую / вставляю только самые подходящие предложения.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .