Неправильно ли POSIX относительно crontab с месяцем без звездочки -и днем ​​-недели -?

Проблема в том, что вы ждете 5 секунд, а вам может понадобиться 6 секунд или больше

Перед запуском mysqladmin create wordpressвы должны проверить, готов ли MYSQL.

Таким образом, вы можете использовать цикл с mysqladmin ping.

Таким образом, команда RUNможет быть

RUN (/usr/bin/mysqld_safe &); \
     while( ! mysqladmin ping ) ;do  sleep 1 ; date ; done ; \
     mysqladmin -u root -proot create wordpress
13
09.11.2020, 02:31
1 ответ

Digital Unix v4 (также известный как OSF1)реализовал эту (заархивированную справочную страницу здесь):

You can specify the days on which the command is to execute in two fields (day of the month and day of the week). You can specify both fields, or you can specify only one field. To use only one field to specify the days, the other field should contain an asterisk (*). If both methods are used, the command is executed whenever either of the specifications is met.

То же самое относится и к Solaris , хотя тексту страницы руководства не хватает ясности (и так было с незапамятных времен ), Пример 3 ясно показывает предполагаемое поведение:

Example 3 Specifying Days of the Month and Week

This example runs a command on the first and fifteenth of each month, as well as on every Monday:

0 0 1,15 * 1

Диллонcrondинтерпретирует * * 2 * monкак «второй понедельник месяца», что, хотя и полезно, также не соответствует -стандарту. Ответы на вопрос , связанный @thanasisp, полезно прочитать на этом этапе. Поведение «или» взято из System V R2(ca. не менее 1985 ).

Я обнаружил, что при чтении документации Open Group необходимо учитывать

  • педантичное значение некоторых слов в определенных контекстах, как и в RFC, но в большей степени
  • разделы текста, ограниченные символами ⌦... ⌫ (необычное соглашение, так как эти символы идут вперед -и назад -удалить)

В ссылке crontab с пометкой [UP] ⌦... ⌫есть текст, указывающий на необязательное поведение (дляcrontab -e)со стороны UserP ortable Utilities, раздел «Входные файлы» не не имеют таких знаков.

Finally, if either the month or day of month is specified as an element or list, and the day of week is also specified as an element or list, then any day matching either the month and day of month, or the day of week, shall be matched.

Я выделил слово «должен», не оставляющее сомнений:

shall

For an implementation that conforms to POSIX.1-2017, describes a feature or behavior that is mandatory. An application can rely on the existence of the feature or behavior.

For an application or user, describes a behavior that is mandatory.

Но, как системный администратор, я склонен считать спецификацию абстрактной, она не может быть неправильной (, если только она не настолько неверна, что не может быть реализована ). Ошибка, если таковая имеется, связана с реализацией, если она не соответствует заявленной спецификации (, возможно, с помощью POSIXLY_CORRECT, которая представляет собой обычный выход -из -из -тюрьмы -. бесплатно для разработчиков, которые изменяют спецификацию в интересах здравомыслия или ожиданий пользователей ).

2
18.03.2021, 22:51

Теги

Похожие вопросы