Para quem deseja editar esta resposta, o motivo pelo qual você não usa apenas o campo dia da semana é que, se o dia do mês e o dia da semana forem restritos (por exemplo, não são *), o comando será executado quando um deles corresponder .
Hasturkun
Manpage do
1
Eu descobri que eu tinha de escapar da% u, então:date +\%u
Antony D'Andrea
3
Você pode evitar a execução de um script externo usando uma combinação do truque do dia da semana mais o dia da semana:
# Run on every second Wednesday of the month
0 4 8-14 * Wed job.sh
Isso também evita a execução de outro programa externo. O 8-14 seleciona todos os dias que correspondem à segunda semana do mês. Em seguida, filtra apenas nessa quarta-feira.
Para servidores CentOS 7, essa parece ser a sintaxe que funciona para mim. Observe os espaços ao redor do [e ]. Demorou um pouco para eu descobrir.
Isso executa o test.sharquivo às 13:07 / 13:07 na segunda quarta-feira do mês. (0 = domingo, 1 = segunda-feira, 2 = terça-feira, 3 = quarta-feira etc.)
Respostas:
Minha página de manual do crontab (que infelizmente não consigo encontrar on-line) fornece o seguinte exemplo:
Adaptando isso aos seus propósitos ...
fonte
*
), o comando será executado quando um deles corresponder .date +\%u
Você pode evitar a execução de um script externo usando uma combinação do truque do dia da semana mais o dia da semana:
Isso também evita a execução de outro programa externo. O 8-14 seleciona todos os dias que correspondem à segunda semana do mês. Em seguida, filtra apenas nessa quarta-feira.
fonte
Não é possível usar o cron por conta própria, mas você pode chamar um script uma vez por semana que faz o teste:
No crontab, execute second_wed.sh às 12h toda quarta-feira:
Em second_wed.sh:
fonte
Com base nesta resposta, você pode fazer:
fonte
Para servidores CentOS 7, essa parece ser a sintaxe que funciona para mim. Observe os espaços ao redor do
[
e]
. Demorou um pouco para eu descobrir.Isso executa o
test.sh
arquivo às 13:07 / 13:07 na segunda quarta-feira do mês. (0 = domingo, 1 = segunda-feira, 2 = terça-feira, 3 = quarta-feira etc.)fonte
Dispare às 10:15 da manhã na terceira sexta-feira de cada mês:
0 15 10 ? * 6#3
Fonte: https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
fonte