2015-02-23 3 views

ответ

3

Такой придирчивый синтаксис ...

8 10 * * 6 expr `date +\%W` \% 2 == 1 >/dev/null || /path/to/script/scriptToRun.sh 

Во-первых, cronjob:

+---------------- minute (0 - 59) 
| +------------- hour (0 - 23) 
| | +---------- day of month (1 - 31) 
| | | +------- month (1 - 12) 
| | | | +---- day of week (0 - 6) (Sunday=0 or 7) 
| | | | | 
* * * * * command to be executed 
8 10 * * 6 

Таким образом, в данном случае это означает, что cronjob запускается на выполнение каждую субботу в 10.08 ,

Затем man date говорит:

% W

номер недели в году, с понедельника в первый день недели (00..53)

$(date +\%W) \% 2 == 1 >/dev/null означает: если номер недели не кратен 2, а затем отправить выход dev/null. В противном случае, действуйте нормально.

Таким образом, сценарий запускается каждую субботу в 10.08.

+1

Отлично, спасибо за ответ. – user1015492

Смежные вопросы