Solución 1:
0 8 * * 6 test $((10#$(date +\%W)\%2)) -eq 1 && yourCommand
date +%W
:número de semana del año con el lunes como primer día de la semana, hoy semana 39
10#$(date +%W)
:convertir el date +W
al número decimal y evitar la confusión de análisis de la base de shell
$((39%2))
:operación de módulo:el resultado es 0 (número de semana par) o 1 (número de semana impar), el resultado de esta semana es 1, la próxima semana 0
test 1 -eq 1
:prueba aritmética (igual), en este caso el resultado es booleano verdadero
&& yourCommand
:Booleano Y:ejecutar yourCommand
solo si el resultado del comando anterior fue booleano verdadero
Tenga en cuenta que el año puede tener dos semanas impares:53 (este año) y 1 (el próximo año)
Solución 2:
Lo que has mostrado es "cada semana". Entonces el código es:
0 8 * * 6
¿Estás seguro de que necesitas ejecutarlo cada dos semanas?
0 8 * * 6 expr `date +\%s` / 604800 \% 2 >/dev/null || yourCommand