我想执行每月的前五天和每月的后五天,这写得正确吗?
0 7 24-31,1-5 * * [ `date -d "+ 5 day" +\%e` -le 5 -o `date +\%e` -le 5 ] && /usr/local/bin/php
答案 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年。