编写这样的cron作业是否正确?

时间:2018-07-12 09:43:26

标签: cron

我想执行每月的前五天和每月的后五天,这写得正确吗?

0 7 24-31,1-5 * * [ `date -d "+ 5 day" +\%e` -le 5 -o `date +\%e` -le 5 ] && /usr/local/bin/php

1 个答案:

答案 0 :(得分:0)

您的单项输入无效,因为月份的天数不同。您需要在crontab中输入多个条目:

0 7 1-5 * * [ date -d "+ 5 day" +\%e -le 5 -o date +\%e -le 5 ] && /usr/local/bin/php
0 7 27-31 1,3,5,7,8,10,12 * [ date -d "+ 5 day" +\%e -le 5 -o date +\%e -le 5 ] && /usr/local/bin/php
0 7 26-30 4,6,9,11 * [ date -d "+ 5 day" +\%e -le 5 -o date +\%e -le 5 ] && /usr/local/bin/php
0 7 24-28 2 * [ date -d "+ 5 day" +\%e -le 5 -o date +\%e -le 5 ] && /usr/local/bin/php

需要更多时间来处理leap年。