Řešení 1:
0 8 * * 6 test $((10#$(date +\%W)\%2)) -eq 1 && yourCommand
date +%W
:číslo týdne v roce s pondělím jako prvním dnem týdne, dnešní týden 39
10#$(date +%W)
:převeďte date +W
na desetinné číslo a vyvarujte se zmatku při analýze základu shellu
$((39%2))
:operace modulo:výsledek je 0 (číslo sudého týdne) nebo 1 (liché číslo týdne), výsledek tohoto týdne je 1, příští týden 0
test 1 -eq 1
:aritmetický test (rovná se), v tomto případě je výsledek booleovský true
&& yourCommand
:Boolean AND:spustit yourCommand
pouze pokud výsledek předchozího příkazu byl boolean true
Všimněte si, že rok může mít dva liché týdny:53 (letos) a 1 (příští rok)
Řešení 2:
To, co jste ukázali, je „každý týden“. Pak je kód:
0 8 * * 6
Jste si jisti, že jej musíte spouštět každé dva týdny?
0 8 * * 6 expr `date +\%s` / 604800 \% 2 >/dev/null || yourCommand
(síť nedostupná) chyba v protokolech mého serveru
Kde je prohlášení o ukončení podpory ifconfig (na linuxu)?