Crontab não está funcionando

4

Estou tentando executar um crontab de desligamento básico para executar o M-F às 10 da noite. Então fiz o seguinte:

sudo crontab -e

Uma vez dentro do crontab, adicionei a seguinte linha:

0 22 * * 1-5 shutdown now

O trabalho não parece estar funcionando corretamente e não consigo encontrar erros no /var/log/syslog . Há algo claramente errado aqui?

    
por hax0r_n_code 26.06.2013 / 16:53

4 respostas

9

Seu problema é provavelmente que o PATH em seu arquivo crontab é limitado e não inclui /sbin onde o desligamento é mais provável localizado.

Portanto, você deve usar o caminho completo para o desligamento (você pode verificar isso com sudo which shutdown ):

0 22 * * 1-5 /sbin/shutdown now

De man 5 crontab :

Note in particular that if you want a PATH other than "/usr/bin:/bin", you will need to set it in the crontab file.

Em vez de especificar o /sbin/shutdown que você poderia fazer:

PATH = /sbin:$PATH
0 22 * * 1-5 shutdown now
    
por 26.06.2013 / 17:31
3
  1. Você pode tentar listar os tempos de execução com cronlist para ver se ele será executado quando você espera. Tanto quanto eu posso dizer que o trabalho cron será executado às 22:00 de segunda a sexta; é isso que você quer?
  2. O que shutdown now imprime se você o executar como um usuário normal?
  3. O que service cron status imprime? Se não disser cron start/running , você terá que reiniciá-lo com service cron start .
  4. O relógio da máquina está correto? Pode ser desconfigurado ou tão fora de sincronia que o trabalho é executado em dias ou horários completamente errados.
  5. Você tem alguma mensagem de erro como PAM bad jump in stack in /var/log/auth.log ? Essa postagem contém várias informações de depuração e coisas para experimentar.
por 26.06.2013 / 17:02
2

Verifique a cauda -n 100 / var / log / cron

E você está tentando executar este cron usando usuário normal ou root?

    
por 26.06.2013 / 16:55
1

Você não tem acesso ao comando shutdown. Tente isto executando isto:

sudo chmod u+s /sbin/shutdown

em seguida, no seu crontab, especifique o caminho completo para o encerramento

0 22 * * 1-5 /sbin/shutdown now
    
por 10.04.2014 / 20:55

Tags