Инструменты разработчика · Генератор Crontab
От версии 7 Unix до Vixie cron: краткая история cron
· Фон
хрон история программное обеспечение-доказательство
cron — один из старейших демонов, который до сих пор используется ежедневно. Этот пост следует из одного общесистемного файла в Unix 1970-х годов, через индивидуальные crontab-файлы для каждого пользователя и до переписанной Полом Викси, от которой до сих пор происходит большинство систем Linux.
Репозиторий демонстрирует текущую пятипольную модель, а не историческую преемственность cron.
ToolAcre моделирует знакомое расписание из пяти полей в текущем JavaScript. Этот факт не доказывает непрерывную линию связи от конкретного демона 1970-х годов к каждому современному хосту. Рабочая грамматика и историческое повествование — это разные продукты доказательств, и в хранилище подробно содержится только первая.
В комментариях источника правило дневного поля называется в стиле Vixie, но комментарии не являются архивом выпусков Unix. Таким образом, эта статья не позволяет превратить стабильно выглядящий интерфейс в утверждение о том, почему cron выжил или от какой базы кода произошел демон читателя. Поведение может быть точным и без придуманного происхождения.
Для деталей реализации версии 7 требуются внешние первичные источники.
В разделе версии 7 книги указан один файл и цикл чтения один раз в минуту. Среди источников статей не хранится ни один исходный код версии 7, руководство или скан. Собственная минутная резолюция ToolAcre не может независимо проверить эти исторические детали реализации.
Ответственная история должна цитировать основное руководство или дерево источников и отличать дату публикации от более поздних воспоминаний. Пока это исследование не существует, в разделе фиксируются упущения. Читатели по-прежнему могут изучить пять полей из протестированного кода, не получая непроверенной истории происхождения, представленной как факт.
Происхождение и особенности политики System V здесь не показаны.
Заявления о добавлении в System V crontab, команд или списков политик для каждого пользователя также требуют внешней документации. В коде браузера нет списков разрешений и запретов, а также менеджера пользовательских файлов crontab. Подобная терминология в более поздних системах не позволяет установить, когда впервые появилась функция.
Это исправление соответствует авторскому договору: набросок является кратким изложением, а не источником. Вместо молчаливой замены еще одним огульным предложением в статье говорится, какие доказательства потребуются. Исторический охват может быть расширен позже, когда основной материал будет добавлен в `sources` и прочитан напрямую.
Атрибуция Vixie отображается в комментариях, но даты и выпуски не указаны.
Реализация называет Vixie cron при объяснении поведения OR и отвергает стили планировщика с шестью полями. Он не содержит архивов выпусков, ссылок 1987 или журнала изменений версии 3.0. Поэтому эти даты и этапы не повторяются в рабочей тетради.
Утверждение на уровне кода уже: когда оба поля дня ограничены, ToolAcre возвращает `monthMatch || weekMatch`, предупреждает пользователя и говорит «или» в своем описании. Такое поведение полностью проверяемо. Атрибуция помимо комментария остается исследовательской задачей, а не заполнением раздела справочной информации.
Реализации потомков находятся за пределами этой кодовой базы.
Такие имена, как cronie, dcron, fcron, bcron и BusyBox, обозначают внешние проекты, ни один из которых здесь не импортируется и не тестируется. ToolAcre не может сказать, какой из них использует хост, принимает ли он все псевдонимы или как он обрабатывает временные переходы. Перечисление потомков означало бы сравнительное исследование, которого не было.
Когда переносимость имеет значение, проверьте целевую реализацию напрямую. Принятое количество полей, имена и операторы являются оперативными фактами. Генеалогия может помочь объяснить различия, но она никогда не должна заменять текущее руководство объекта и безобидный проверочный тест.
Что осталось в ToolAcre: пять упорядоченных полей и проверенная грамматика
То, что устанавливает хранилище, является существенным. Поля упорядочены по минутам, часам, дню месяца, месяцу и дню недели. Числовые диапазоны являются явными; названия месяца и дня недели принимаются без учета регистра; Воскресенье 7 нормализуется до 0; диапазоны, списки и шаги расширяются до отсортированных уникальных значений.
Анализатор также поддерживает семь именованных псевдонимов, кроме `@reboot`, выдает определенные ошибки, предупреждает о невозможных датах и полях дня с OR, отображает английский язык и вычисляет предстоящее время настенных часов в выбранной зоне. Этот современный договор заслуживает точной документации, независимой от исторического орнамента.
anacron и systemd остаются вне генератора
В инструменте не отображается конфигурация anacron или анализатор календаря systemd. Эти системы нельзя позиционировать как эволюционные преемники или альтернативы только на основании данных о хранилищах. Даже при обычном сравнении их поведение при пропущенных запусках, зависимостях и журналировании требует отдельных источников.
Отказ ToolAcre от шести полей и неподдерживаемых операторов не является осуждением этих систем. Он просто защищает одну грамматику. Статьи об альтернативах должны начинаться с их реализации и документации, а не выводить особенности из формы выражения crontab.
Вывод: используйте доказательства реализации для поведения и первоисточники для истории.
Техническая история требует той же дисциплины, что и документация кода: претензии должны быть прослежены до материала, в котором они на самом деле сформулированы. Здесь заслуживающей доверия историей является нынешнее поведение генератора и явное отсутствие архивных свидетельств хронологии рабочей книги.
Используйте ToolAcre для создания и проверки синтаксиса из пяти полей, который охватывают его тесты. Если вы публикуете историю позже, добавьте первоисточники, проверьте даты и определите связанные реализации. Пропустить неподтвержденную веху сейчас более точно, чем беглое повествование, которое читатели не могут проверить.