Cronjob run every two weeks, on Saturday, starting on this saturday
Solution 1:
0 8 * * 6 test $((10#$(date +\%W)\%2)) -eq 1 && yourCommand
date +%W
: week number of year with Monday as first day of week, today week 39
10#$(date +%W)
: conver the date +W
to decimal number and avoid shell base parsing confusion
$((39%2))
: modulo operation: result is 0 (even week number) or 1 (odd week number), this week result is 1, next week 0
test 1 -eq 1
: arithmetic test (equal), in this case result is boolean true
&& yourCommand
: Boolean AND: run yourCommand
only if result of previous command was boolean true
Note that the year can get two odd weeks: 53 (this year) and 1 (next year)
Solution 2:
What you've shown is "every week". Then the code is:
0 8 * * 6
Are you sure you need to run it every two weeks?
0 8 * * 6 expr `date +\%s` / 604800 \% 2 >/dev/null || yourCommand