Cron задание от имени root необходимо для sudo другому пользователю
RHEL6 В crontab root'а есть:* 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
изменение исправило проблему.
Спасибо
1 ответ
Если скрипт выполняется в crontab root, вы должны удалить sudo из команды. Я видел это раньше, когда попытка sudo, когда вы уже являетесь пользователем root, приводит к сбою команды.
Если вы хотите сменить пользователя, то команда при запуске от имени root называется 'su -l jira', а не sudo -u jira.