RHEL6 rootの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で実行されている場合は、コマンドから「Sudo」を削除する必要があります。これは以前に見たことがあります。すでにrootになっているときに「Sudo」を実行しようとすると、コマンドが失敗します。
ユーザーを切り替える場合、rootとして実行したときのコマンドはSudo -u jiraではなく、「su -l jira」です。