Executa o cronjob do usuário local como root

2

Estou tentando executar uma tarefa cron como usuário root, mas ela não será executada. Aqui está o que eu tentei ...

  1. Adicionando o trabalho ao meu usuário crontab (crontab -e) e definindo o usuário como root ...

    17 10 * * * root /etc/cron.daily/cammedia.sh
    
  2. Adicionando o trabalho ao usuário root crontab (sudo crontab -e) e também adicionando alguns PATHs ...

    PATH=/usr/sbin:/usr/bin:/sbin:/bin
    PATH=/usr/sbin:/usr/bin:/sbin:/etc
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/scott
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc
    #
    0 4 * * * /etc/cron.daily/cammedia.sh
    

Aqui está o resultado da execução de crontab -l (conta de usuário local) após uma execução de teste:

May 26 10:17:01 WEBCAM CRON[89901]: (scott) CMD (root /etc/cron.daily/cammedia.sh)
May 26 10:17:01 WEBCAM CRON[89902]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 26 10:17:01 WEBCAM CRON[89900]: (CRON) info (No MTA installed, discarding output)

Sugestões?

    
por Scott 26.05.2018 / 18:56

1 resposta

5

Apenas remova a linha completamente. Basta colocar um script em /etc/cron.daily para que ele seja executado uma vez por dia. Você terá que renomeá-lo para não conter o sufixo .sh para ser adequado para o diretório cron.daily.

Se você não quiser executá-lo na hora padrão para o cron.daily, você deve armazenar o script em outro lugar, e. g. /usr/local/bin/cammedia.sh .

Se você planeja fazer isso, você deve estar ciente de que apenas o root pode executar trabalhos cron como outro usuário, para usuários normais, ele não é válido.

Não se esqueça de tornar o script executável executando chmod +x cammedia.sh em qualquer caso.

A saída do script será enviada por e-mail para você. Se isso não for possível (e, de acordo com os registros da sua pergunta, não é possível), a saída será descartada. Existem outras maneiras de obter a saída. Por exemplo. você pode adicionar a seguinte declaração ao script cammedia:

logger "cammedia script run"

e você deve ver algo no syslog.

Uma boa leitura sobre o assunto é link , ele ajudará você a solucionar seu problema.

    
por Sebastian Stark 26.05.2018 / 19:20