RHEL6 В корневом каталоге crontab есть: * 21 * * * /root/script.sh
В script.sh есть строка: /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog
Команда выполняется в обычной оболочке, но не из cron.
Процесс cron работает нормально, а остальная часть скрипта выполняется правильно, это просто часть sudo, которая не работает.
Я обновил сценарий: заменил sudo на su и протестировал в другом сценарии, и, похоже, он работает. Сегодня вечером я протестирую реальный сценарий и обновлю этот пост.
sudo
к su
изменение устранило проблему.Спасибо
Если скрипт запущен в crontab root, вам следует удалить sudo из команды. Я видел это раньше, когда попытка «sudo», когда вы уже являетесь пользователем root, приводит к сбою команды.
Если вы хотите сменить пользователя, то команда при запуске от имени root будет su -l jira, а не sudo -u jira.