cron - 写这样的cron作业是否正确?
问题描述
我要执行每个月的前五天和每个月的后五天。这样写对吗?
0 7 24-31,1-5 * * [ `date -d "+ 5 day" +\%e` -le 5 -o `date +\%e` -le 5 ] && /usr/local/bin/php
解决方案
您的单一条目将不起作用,因为月份的天数不同。您需要 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
需要更多的思考来处理闰年。
推荐阅读
- unix-timestamp - NTP, Unix and Messaging
- java - Unable to write data to firebase android studio
- typescript - 续集模型关联在打字稿中不起作用
- android - Overflow openoptionsmenu() shows no items
- google-app-engine - The requested URL / was not found on this server. I used polymer-3-starter-kit
- php - Using Stripe PHP on localhost for development
- r - How do I tune a posterior probability threshold value for a binary classifier using more than one performance measure with the mlr package in R?
- python - CosmosDB emulator not working with Flask and MongoDB
- postgresql - Error: PostgreSQL Kubernetes data directory "/var/lib/postgresql/data" has wrong ownership windows
- c++ - Why are arrays considered as pointers inside function arguments C++?