Comando privilegiado como parte do cronjob [duplicado]

1

Eu tenho um nome de usuário / senha pessoal em uma máquina unix com privilégios limitados. Sempre que eu preciso executar alguns comandos eu tenho que substituir o usuário usando o comando su , então eu o executo normalmente.

Agora, eu preciso adicionar um cronjob que use tais comandos privilegiados, então eu adicionei o cronjob no crontab do usuário que eu substituí para ter acesso a esses comandos.

Estranhamente, descobri que esses comandos não funcionam por algum motivo como um cronjob, embora quando eu os execute diretamente do shell (após su) eles funcionem perfeitamente.

Por que isso acontece? Por que esses comandos não funcionam como parte do cronjobs?

    
por masegaloeh 11.05.2010 / 09:11

2 respostas

2

Eles provavelmente esperam que alguma variável de ambiente seja configurada de alguma forma, mas não é quando o comando é executado diretamente como esse usuário. Geralmente $PATH .

    
por 11.05.2010 / 09:16
1

Eu adicionaria um arquivo de saída à sua entrada do cron para que você possa ver porque ele falhou na execução. ou seja:

*/5 * * * *   path_to_script.sh > /tmp/myscript.out 2>&1

Após 5 minutos, marque /tmp/myscript.out e veja o que está reclamando.

É claro que ajudaria descobrir se você tem permissão para criar crons em primeiro lugar.

    
por 11.05.2010 / 11:15

Tags