Tarefa Cron como raiz precisa sudo para outro usuário [duplicado]

4

RHEL6 No crontab da raiz temos: * 21 * * * /root/script.sh

No script.sh há uma linha: /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog

O comando é executado em um shell regular, mas não quando executado a partir do cron.

O processo cron funciona bem e o resto do script é executado corretamente, é apenas a parte sudo que não funciona.

Eu atualizei o script: trocando sudo por su e testado em outro script e parece funcionar. Vou testar no roteiro de hoje e atualizar este post então.

A alteração de sudo to su corrigiu o problema.

Obrigado

    
por Codefire 10.02.2015 / 04:03

1 resposta

4

Se o script estiver rodando no crontab do root, você deve remover o 'sudo' do comando. Eu já vi isso antes, quando tentar 'sudo' quando você já está root faz o comando falhar.

Se você quiser trocar de usuário, então o comando quando executado como root, é 'su -l jira', não sudo -u jira.

    
por 10.02.2015 / 04:11