Français

Outils de développement · Générateur Crontab

De la version 7 Unix à Vixie cron : une brève histoire de cron

· Contexte

cron Calendrier historique preuve logicielle

Une expression à cinq champs à côté d'une boîte d'archives fermée marquant une limite de preuve
Illustration vectorielle originale de ToolAcre

cron est l'un des démons les plus anciens encore utilisés quotidiennement. Cet article fait suite à un fichier unique à l'échelle du système dans Unix des années 1970, en passant par les crontabs par utilisateur, jusqu'à la réécriture de Paul Vixie dont la plupart des systèmes Linux descendent encore.

Le référentiel démontre un modèle actuel à cinq champs, et non la continuité historique de cron

ToolAcre modélise une planification familière à cinq champs dans le JavaScript actuel. Ce fait ne prouve pas l’existence d’une ligne ininterrompue entre un démon particulier des années 1970 et chaque hôte moderne. Une grammaire fonctionnelle et un récit historique sont des produits de preuve différents, et le référentiel ne contient que la première en profondeur.

Les commentaires sources appellent la règle du champ journalier à la manière de Vixie, mais les commentaires ne sont pas une archive des versions Unix. Cet article évite donc de transformer une interface d’apparence stable en une affirmation sur la raison pour laquelle cron a survécu ou de quelle base de code descend le démon d’un lecteur. Le comportement peut être précis sans provenance inventée. Les détails de mise en œuvre de la version

7 nécessitent des sources primaires externes

La section Version 7 du classeur nommait un fichier et un cycle de lecture une fois par minute. Aucune source, manuel ou analyse de la version 7 n'est stockée parmi les sources de l'article. La résolution infime de ToolAcre ne peut pas vérifier de manière indépendante ces détails de mise en œuvre historiques.

Un historique responsable citerait un manuel principal ou un arbre source et distinguerait la date de publication des souvenirs ultérieurs. En attendant que cette recherche existe, la section enregistre l'omission. Les lecteurs peuvent toujours apprendre les cinq champs à partir du code testé sans recevoir une histoire d'origine sans source présentée comme un fait.

La lignée System V et les fonctionnalités de stratégie ne sont pas présentées ici

Les réclamations concernant l'ajout de crontabs, de commandes ou de listes de politiques par utilisateur dans System V nécessitent également une documentation externe. Le code du navigateur n'a pas de liste d'autorisation ou de refus ni de gestionnaire utilisateur-crontab. Une terminologie similaire dans les systèmes ultérieurs ne permet pas d'établir quand une fonctionnalité est apparue pour la première fois.

Cette correction fait suite au contrat d'auteur : un aperçu est un mémoire, pas une source. Plutôt que d’échanger silencieusement une autre phrase radicale, l’article indique quelles preuves seraient nécessaires. La couverture historique peut être étendue ultérieurement lorsque le matériel principal est ajouté à `sources` et lu directement.

L'attribution de Vixie apparaît dans les commentaires, mais les dates et les sorties ne proviennent pas

L'implémentation nomme Vixie cron lorsqu'elle explique le comportement OR et rejette les styles de planificateur à six champs. Il ne contient pas d'archives de version, de citation 1987 ou de journal des modifications de version 3.0. Ces dates et jalons ne sont donc pas répétés à partir du classeur.

La revendication au niveau du code est plus étroite : lorsque les deux champs de jour sont restreints, ToolAcre renvoie `monthMatch || weekMatch`, avertit l'utilisateur et dit « ou » dans sa description. Ce comportement est entièrement testable. L'attribution au-delà du commentaire reste une tâche de recherche plutôt que de remplir une section de fond.

Les implémentations descendantes sont en dehors de cette base de code

Des noms tels que cronie, dcron, fcron, bcron et BusyBox identifient des projets externes, dont aucun n'est importé ou testé ici. ToolAcre ne peut pas dire lequel utilise un hôte, s'il accepte tous les alias ou comment il gère les transitions temporelles. Répertorier les descendants impliquerait des recherches comparatives qui n'ont pas eu lieu.

Lorsque la portabilité est importante, inspectez directement l'implémentation cible. Le nombre de champs acceptés, les noms et les opérateurs sont des faits opérationnels. Une généalogie peut aider à expliquer les différences, mais elle ne doit jamais remplacer le manuel actuel de la cible ni un test de validation inoffensif.

Ce qui est resté dans ToolAcre : cinq champs ordonnés et une grammaire testée

Ce que le référentiel établit est substantiel. Les champs sont classés minute, heure, jour du mois, mois et jour de la semaine. Les plages numériques sont explicites ; les noms de mois et de jours de la semaine sont acceptés sans tenir compte de la casse ; Dimanche 7 se normalise à 0 ; les plages, les listes et les étapes se développent en valeurs uniques triées.

L'analyseur prend également en charge sept alias nommés à l'exception de `@reboot`, produit des erreurs spécifiques, avertit des dates impossibles et des champs de jour ORed, restitue l'anglais et calcule les heures d'horloge murale à venir dans une zone sélectionnée. Ce contrat contemporain mérite une documentation exacte indépendante de l’ornement historique.

anacron et systemd restent en dehors du générateur

Aucune configuration anacron ou analyseur de calendrier systemd n'apparaît dans l'outil. Ces systèmes ne peuvent pas être positionnés comme des successeurs évolutifs ou des alternatives sur la seule base des preuves du dépôt. Même lorsqu'on les compare couramment, leur comportement en matière d'exécution manquée, de dépendance et de journalisation nécessite des sources distinctes.

Le refus de ToolAcre de six champs et d'opérateurs non pris en charge n'est pas un jugement sur ces systèmes. Cela protège simplement une grammaire. Les articles sur les alternatives doivent commencer par leurs implémentations et leur documentation, et non déduire les fonctionnalités de la forme d'une expression crontab.

À retenir : utilisez les preuves de mise en œuvre pour le comportement et les sources primaires pour l'historique

L'histoire technique nécessite la même discipline que la documentation du code : les affirmations doivent être traçables jusqu'au matériel qui les dit réellement. Ici, l’histoire digne de confiance est le comportement actuel du générateur et l’absence explicite de preuves archivistiques pour la chronologie du classeur.

Utilisez ToolAcre pour construire et inspecter la syntaxe à cinq champs couverte par ses tests. Si vous publiez un historique plus tard, ajoutez des sources primaires, vérifiez les dates et distinguez les implémentations associées. Omettre une étape non prise en charge est désormais plus précis qu’un récit fluide que les lecteurs ne peuvent pas auditer.