Что означает эта линия 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, я никогда не видел ? в моей старой жизни в этом контексте.

Помимо того, что кажется, что он имеет слишком много символов, знак вопроса можно использовать вместо * символ для групповых ситуаций, для того, чтобы оставить день месяца пустым или день недели пустым.

Другие вопросы по тегам