como executar um comando no primeiro, segundo, terceiro e quarto domingo do mês com crontab [duplicado]

6

Eu tenho 4 servidores e quero que cada um deles execute uma reinicialização no domingo.

  • Servidor 1 - primeiro domingo do mês (primeira semana)
  • Servidor 2 - Segundo domingo do mês (segunda semana)
  • Servidor 3 - terceiro domingo do mês (3ª semana)
  • Servidor 4 - quarto domingo do mês (4ª semana)

como posso fazer isso com o Crontab? Obrigado! Dotan.

    
por edotan 04.07.2013 / 11:45

1 resposta

12

O primeiro domingo será sempre entre o dia 1 e o dia 7, então

10 1 1-7 * * test 'date +\%a' == "Sun" &&  doSomething

executará o doSomething às 10 no último dia de um domingo, entre o dia 1 e o dia 7. Da mesma forma, o segundo domingo vai cair entre os dias 8 e 14, o terceiro entre os dias 15 e 21 e o quarto entre os dias 22 e 28, então ajuste o dia do mês de acordo com o servidor relevante.

Note que o teste é necessário porque

Note: The day of a command's execution can be specified by two fields -- day of month, and day of week. If both fields are restricted (ie, aren't *), the command will be run when either field matches the cur- rent time. For example, "30 4 1,15 * 5" would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.

    
por 08.07.2013 / 11:49