Sintaxe de Crontab: usando '*' para o valor de minutos

2

O que acontece se eu usar '*' para o valor de minutos? O comando vai ser executado a cada minuto? Por exemplo: * 4 * * 0 <command>

    
por user5611 10.03.2011 / 19:17

3 respostas

6

Sim, no seu exemplo, o comando será executado a cada minuto das 04:00 horas todos os domingos.

A propósito, se você precisar de algo para rodar a cada minuto, é provável que você esteja monitorando algo para mudanças; Normalmente, há uma maneira melhor de fazer isso. Por exemplo, no Linux, há inotify para programas ativos com base em eventos do sistema de arquivos e ip monitor para observar alterações no status da rede.

    
por 10.03.2011 / 19:23
2

Sim, isso ocorrerá a cada minuto da quinta hora (0400 a 0459) no domingo. Provavelmente, o que se pretende é executar uma vez durante esse período. A menos que precise ser executado na hora, escolha um valor aleatório de 1 a 59 e substitua o valor dos minutos.

Se você tiver vários programas que precisam ser executados em um período específico, poderá limitar os picos de carga usando um minuto aleatório na hora em que deseja executar a tarefa. Use um valor diferente para cada entrada crontab.

    
por 11.03.2011 / 17:10
1

Sim, este trabalho será executado a cada minuto.

Aqui estão algumas seções relevantes do man 5 crontab :

   cron(8) examines cron entries once every minute.  The time and date fields are:

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)

   A field may be an asterisk (*), which always stands for ''first-last''.

A manpage diz que se você usar o asterisco (*) no campo de minutos, isso é equivalente a usar "0-59" ('' primeiro-último ''), e o trabalho será executado a cada minuto no hora.

    
por 10.03.2011 / 20:01

Tags