Você pode fazer com que a coisa seja executada pelo cron toda quarta-feira, e depois decidir se é uma semana par ou ímpar. por exemplo:
#!/bin/bash
week=$(date +%U)
if [ $(($week % 2)) == 0 ]; then
echo even week
else
echo odd week
fi
o crontab (5) define os seguintes campos:
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)
e explica:
Step values can be used in conjunction with ranges. Following a range with ''/<number>'' specifies skips of the number's value through the range. For example, ''0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ''0,2,4,6,8,10,12,14,16,18,20,22'').
Então, não quinzenalmente Jobs, no que diz respeito ao meu entendimento. Tenho certeza de que existem soluções alternativas, quais são as suas? Ou eu perdi alguma coisa?
Muitos intervalos de suporte crons (você não especificou qual você está usando). Então, algo parecido com
0 0 1-7,15-21 * 3
atingiria a primeira e a terceira quarta-feira do mês.
Para algo que precisa ser executado a cada duas semanas, use este verso:
0 0 * * 5 [ 'expr \'date +\%V\' \% 2' -eq 0 ] && echo "execute script"
Este script específico está agendado para ser executado às sextas-feiras. A semana a ser executada pode ser ajustada usando "-eq 0" ou "-eq 1"
Anacron é uma boa solução para as limitações do cron.
period delay job-identifier command
14 15 test.daily /path/to/script.sh
Se as suas necessidades não forem literalmente quinzenais, você poderá simplesmente executar o cronjob no primeiro e no décimo quinto dia do mês:
15 8 1,15 * * /your/script.sh
Que funciona às 8:15 da manhã no primeiro e no décimo quinto dia de cada mês, independentemente do dia da semana.
A partir dessa definição de explicação, 3/2 no campo da semana deve executar a tarefa em todas as outras quartas-feiras - é implícita, mas acho factível.
Tags cron