crontab 隔週執行程式

有一支排程backup.sh希望可以每兩週執行一次,但是Crontab並沒有隔週的參數選項。

網路上有文章提到可以用第幾週來判斷是否執行程式,分為下列兩種方式:

方式一,寫在script內
#!/bin/sh
v_ck=`date +%W`
v_run=`expr $v_ck % 2`

if [ $v_run = 1 ];
   then backup.sh
        exit 1
   fi
 
方式二,利用test指令來判斷
10 10 * * *  su - user | test $(( $( date +%W ) %2 )) -eq 1 && backup.sh


date +%W是指取得週數,例如:2017/10/19是今年的第42週
用週數除以2取餘數,可以得到0或1兩個數字,再來判斷是否為隔週