2015-05-03 3 views
0

Мне интересно, пожалуйста, следующее:chpasswd неизвестна команда при вызове cronjob?

У меня есть сценарий bash, который выполняется один раз в месяц через cronjob. Следующая строка дает ошибку «неизвестная команда», когда бежал через cronjob:

echo $P | chpasswd 

Когда я исполняю Баш скрипт непосредственно, он работает правильно.

У кого-нибудь есть идея?

+1

Что такое PATH, предоставленный вашей работе 'cron'? Где хранится 'chpasswd'? Поскольку каталог, где 'chpasswd' не указан в пути, предоставленном' cron', он не находит его. Вы получаете очень ограниченную среду с 'cron'; что-то меньшее, чем обычно, означает большую осторожность, либо более полную настройку PATH, либо указание абсолютного пути команд. –

+1

Как вы устанавливаете 'P' для' echo' для эха? Разве он не устанавливает одинаковое значение каждый месяц? Это мудро? –

ответ

1

Преобразование комментария в вопрос.

Что представляет собой PATH, поставленный на ваш cron? Где хранится chpasswd? Поскольку каталог, в котором хранится chpasswd, не указан в пути, указанном cron, он не находит его. Вы получаете очень ограниченную среду с cron; запуск чего-либо наименее из обычного означает, что требуется большая осторожность.

Либо установить PATH более полно в сценарии запуска с помощью cron задания или указать абсолютный путь к файлу команд, которые не являются в /bin или /usr/bin.

Кстати, как вы установили P для echo, чтобы эхо его? Разве он не устанавливает одинаковое значение каждый месяц? Это мудро?

Есть много других вопросов о переполнении стека о трудностях выполнения команд от cron рабочих мест. Среди прочих, см. Bash script not running in cron correctly и Perl script works but not via cron и Is there a special restriction on commands executed by cron?, чтобы назвать только три.

+0

Спасибо. Мой chpasswd расположен @/usr/sbin - я добавил абсолютный путь, и теперь он работает, когда вызывается через cronjob. P установленный каждый каждый месяц. Существуют фиксированные детали и различные детали, которые в совокупности равны P. Разные части вычисляются таким образом, что только я знаю и, таким образом, я знаю о действительном пароле в любое время. –

Смежные вопросы