O que significa * * * * * (cinco asteriscos) em um arquivo cron? [duplicado]

46

A primeira linha não personalizada em um arquivo legado do crontab começa com cinco asteriscos:

* * * * * ([a_command]) >/dev/null 2>&1

Os autores sumiram, então não sei qual é a intenção deles . O que todos os wildcards significam para (Solaris 8) cron? A aposta aqui é executada uma vez, executada continuamente ou nunca executada, o que infelizmente é amplo.

Se você está se perguntando sobre a linha de comentário anterior, é "Não excluir".

Nota: Este arquivo cron está funcionando . Esta questão é não uma duplicata de uma pergunta sobre arquivos cron ou arquivos cron que requerem solução de problemas.

    
por Thomas L Holaday 20.07.2010 / 23:15

3 respostas

48

A cada minuto de cada dia de cada semana de cada mês, esse comando é executado.

man 5 crontab tem a documentação disso. Se você acabou de digitar man crontab , você obtém a documentação para o comando crontab . O que você deseja é a seção 5 das páginas de manual, que abrange os arquivos de configuração do sistema, incluindo o arquivo /etc/crontab . Para referência futura, as seções são descritas em man man :

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]
    
por 20.07.2010 / 23:17
27

* = sempre. É um curinga para todas as partes da expressão de cronograma.

Portanto, * * * * * significa every minute de every hour de every day de every month e every day de week .

 * * * * *  command to execute
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 │ │ │ └────────── month (1 - 12)
 │ │ └─────────────── day of month (1 - 31)
 │ └──────────────────── hour (0 - 23)
 └───────────────────────── min (0 - 59)

O bom desenho acima é fornecido por wikipedia

Um outro exemplo:

0 * * * * -isso significa que o cron será executado sempre que os minutos forem 0 (de hora em hora) 0 1 * * * - isso significa que o cron funcionará sempre às 1 horas.
* 1 * * * - isso significa que o cron será executado a cada minuto quando a hora for 1. Então 1:00 , 1:01 , ... 1:59 .

    
por 04.06.2014 / 09:38
8
First star = Minutes: 0-59
Second star = Hours: 0-23
Third star = Day of Month: 0 - 31
Fourth star = Month: 0 - 12
Fifth star = Day of Week: 0 - 6 (0 means sunday)

Digamos que você queira executar algo todo 1º de cada mês.

0 0 1 * * something.sh
    
por 20.07.2010 / 23:22