Назад | Перейти на главную страницу

Работа Cron с правами root должна передать sudo другому пользователю

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.