crontab -e não está funcionando

2

Estou executando esses comandos no crontab e parece que o script não está sendo executado a cada 5 minutos

5 * * * /etc/my_scripts/telnet.sh | telnet >> /tmp/top_Jay.txt
5 * * * /etc/my_scripts/telnet_lab.sh | telnet >> /tmp/top_Lab.txt
    
por Federi 15.10.2015 / 20:46

5 respostas

4

5 * * * * .../script significa executar .../script a cada 5 minutos a cada hora.

*/5 * * * * .../script significa executar o script a cada 5 minutos.

Além disso, não tenho certeza se o pipe para o telnet funcionará no cron (depende se o seu cron bifurca um shell para executar seu comando ou não). É melhor você reescrever seu script para que o pipe para telnet ocorra dentro do script (o que pode ser tão simples quanto colocá-lo em ( ... ) | telnet .... e você certamente seria melhor reescrever seu script como um% scriptexpect em vez de um script de shell - o expect é projetado exatamente para esse tipo de tarefa.

    
por 16.10.2015 / 00:27
3

Você precisa de outro * antes do comando

As colunas são

mins, hrs, day of month, month of year, day of week, command
    
por 15.10.2015 / 20:50
2

Você precisa de mais um *

O formato é:

  1. minuto
  2. hora
  3. dia do mês
  4. mês
  5. dia da semana
  6. comando

Atualizar

Além disso, se você colocar 5 no primeiro campo, seu comando só será executado 5 minutos após a hora completa. Para que seja executado a cada 5 minutos, deve ser */5

    
por 15.10.2015 / 20:51
1

A sintaxe deve ter 5 campos:

*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of        month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)
    
por 15.10.2015 / 20:50
-1

Você precisa adicionar uma estrela. A especificação crontab diz que existem 5 campos para a especificação de tempo.

    
por 15.10.2015 / 20:50

Tags