Что означает эта линия cronjob
У меня есть выражение cron, которое несколько отличается от выражений, с которыми я работал ранее, особенно из-за ?
оператор (я не знаю, почему он был использован)
Ниже приведен формат, к которому я обращался как к стандартному формату. но выражение, которое я дал после этого стандартного формата, не соответствует этой структуре. Кто-нибудь может помочь мне понять этот новый формат. Заранее благодарю за любую помощь.
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
выражение:
0 15 15 ? * 1-7
3 ответа
Хорошо, ребята, я нашел решение, это на самом деле планирование с помощью Java кварцевого планировщика.
это как получить 6 параметров в выражении
мое выражение: 0 15 15 ? * 1-7
Seconds
Minutes
Hours
Day-of-Month
Month
Day-of-Week
Year (optional field)
'?'
символ допускается для полей дня месяца и дня недели. Используется для указания "нет конкретного значения". Это полезно, когда вам нужно указать что-то в одном из двух полей, но не в другом. См. Примеры ниже (и CronTrigger JavaDoc) для пояснения.
Вы можете использовать это, чтобы проверить свои выражения cron http://www.cronmaker.com/
Это ошибка.
Формат для времени в cron
находится в 5 столбцах. У вас есть 6.
Если я проверю ваш cronexpression
:
0 15 15 ? * 1-7 ls
Дисплей crontab:
crontab: installing new crontab
"/tmp/crontab.AzvS1Q":148: bad month
errors in crontab file, can't install.
Do you want to retry the same edit?
Более того, если я тестирую с 5 столбцами с ?
внутри я все еще получаю ошибку.
мой cron
реализация cronie 1.4.8-3
на archlinux
, я никогда не видел ?
в моей старой жизни в этом контексте.
Помимо того, что кажется, что он имеет слишком много символов, знак вопроса можно использовать вместо *
символ для групповых ситуаций, для того, чтобы оставить день месяца пустым или день недели пустым.