Выход из очереди LSF в задаче crontab - PullRequest
1 голос
/ 16 июня 2011

У меня есть скрипт bash, который отслеживает задания в кластере по выводу команды системы очередей LSF "bqueues". Сценарий работает нормально. Теперь я хотел создать запись в crontab, которая вызывает этот скрипт. Проблема в том, что все, что связано с bqueues, вообще не производит вывод, в чем может быть причина?

1 Ответ

2 голосов
/ 16 июня 2011
  1. Задания Cron не наследуют среду входа пользователя в систему.В частности, переменные окружения, установленные в .login или .profile и т. Д., Просто не будут доступны.Абсолютно единственная наиболее распространенная причина сбоя заданий cron заключается в том, что параметр PATH отличается от того, что предполагал автор сценариев.
  2. Задания Cron не имеют связанного с ними stdin.В то время как cron не будет выполнять .login / .profile пользователя, он будет запускать оболочку в обычном режиме, вызывая запуск файла запуска оболочки (.cshrc, .bashrc и т. Д.).Также некоторые команды, используемые в cronjob, могут полагаться на наличие терминала.Например, если вы пытаетесь запустить 'vi' в пакетном режиме, не надо.Вместо этого замените его на ed или sed.
  3. Вывод задания Cron будет отправлен почтой Unix владельцу crontab
  4. Разрешения на сам crontab.Многие реализации cron даже не смотрят на crontab, если права доступа к файлу установлены неправильно.Обычно разрешения должны быть чрезвычайно жесткими - только для чтения / записи для владельца и НЕТ разрешений для группы или других.
  5. сравнивать среды, выдав env из shell и crontab.
  6. ...

Дополнительные советы по отладке см. В Как отладить проблему, связанную с тем, что cron не выполняет данный скрипт - или другой?

...