克朗跑每个星期三?

我需要find一个方法来处理一个工作,以便它在每个星期三的每个星期三运行。 这可能吗?

我的crontab的网页(我可惜似乎无法在网上find)给出了以下例子:

# Run on every second Saturday of the month 0 4 8-14 * * test $(date +\%u) -eq 6 && echo "2nd Saturday" 

适应这个你的目的…

 0 4 8-14 * * test $(date +\%u) -eq 3 && job.sh 

使用cron本身是不可能的,但是你可以每周调用一次脚本来做testing:

在crontab中,每周三12.00运行second_wed.sh:

 0 12 * * 3 /home/you/bin/second_wed.sh 

在second_wed.sh中:

 #!/usr/bin/env bash day_of_month=`date +"% if [ $day_of_month -gt 7 -a $day_of_month -lt 15 ]; then # Call your program here instead of 'ls'… ls fi 

基于这个答案,你可以这样做:

 00 12 * * Wed expr `date +\%d` \> 7 \& `date +\%d` \< 15 >/dev/null && runJob.sh 

您可以避免使用星期几技巧加星期几的组合来运行外部脚本:

 # Run on every second Wednesday of the month 0 4 8-14 * Wed job.sh 

这也避免了运行另一个外部程序。 8-14select所有与本月第二周相匹配的日子。 然后它会在那个星期三过滤掉。