Italiano

Strumenti per sviluppatori · Generatore di Crontab

Dalla versione 7 Unix a Vixie cron: una breve storia di cron

· Sfondo

cron storia prova del software

Un'espressione a cinque campi accanto a una scatola di archivio chiusa che segna un confine di prova
Illustrazione vettoriale originale ToolAcre

cron è uno dei demoni più vecchi ancora in uso quotidiano. Questo post segue il percorso da un singolo file a livello di sistema nell'Unix degli anni '70 attraverso i crontab per utente fino alla riscrittura di Paul Vixie da cui discendono ancora la maggior parte dei sistemi Linux.

Il repository dimostra un attuale modello a cinque campi, non la continuità storica di cron

ToolAcre modella un programma familiare a cinque campi nell'attuale JavaScript. Questo fatto non prova una linea ininterrotta da un particolare demone degli anni '70 a ogni host moderno. Una grammatica funzionante e una narrazione storica sono prodotti di prova diversi e l'archivio contiene in modo approfondito solo la prima.

I commenti sorgente richiamano la regola del campo giornaliero in stile Vixie, ma i commenti non sono un archivio delle versioni Unix. Questo articolo quindi si oppone a trasformare un'interfaccia dall'aspetto stabile in un'affermazione sul perché cron è sopravvissuto o da quale base di codice discende il demone di un lettore. Il comportamento può essere preciso senza una provenienza inventata.

I dettagli di implementazione della versione 7 richiedono fonti primarie esterne

La sezione Versione 7 della cartella di lavoro indicava un file e un ciclo di lettura una volta al minuto. Nessuna fonte, manuale o scansione della versione 7 è memorizzata tra le fonti degli articoli. La risoluzione verbale di ToolAcre non può verificare in modo indipendente tali dettagli storici di implementazione.

Una storia responsabile citerebbe un manuale primario o un albero delle fonti e distinguerebbe la data di pubblicazione dal ricordo successivo. Fino a quando tale ricerca non esiste, la sezione registra l'omissione. I lettori possono ancora apprendere i cinque campi dal codice testato senza ricevere una storia di origine priva di fonti presentata come un fatto.

Il lignaggio e le caratteristiche politiche del System V non sono evidenziate qui

Anche le affermazioni sull'aggiunta di crontab, comandi o elenchi di policy per utente da parte di System V richiedono documentazione esterna. Il codice del browser non ha un elenco di autorizzazioni o negazioni e nessun gestore di crontab utente. Una terminologia simile nei sistemi successivi non può stabilire quando è apparsa per la prima volta una caratteristica.

Questa correzione segue il contratto d'autore: uno schema è un breve, non una fonte. Invece di inserire silenziosamente un’altra frase radicale, l’articolo dice quali prove sarebbero necessarie. La copertura storica può essere ampliata in seguito quando il materiale principale viene aggiunto a `sources` e letto direttamente.

L'attribuzione di Vixie appare nei commenti ma le date e le versioni non vengono fornite

L'implementazione nomina Vixie cron quando spiega il comportamento OR e rifiuta gli stili di pianificazione a sei campi. Non contiene archivi di rilascio, una citazione 1987 o un registro delle modifiche della versione 3.0. Tali date e tappe fondamentali non vengono quindi ripetute dalla cartella di lavoro.

L'affermazione a livello di codice è più ristretta: quando entrambi i campi del giorno sono limitati, ToolAcre restituisce `monthMatch || weekMatch`, avvisa l'utente e dice "o" nella descrizione. Questo comportamento è completamente verificabile. L'attribuzione oltre il commento rimane un compito di ricerca piuttosto che un riempitivo per una sezione di background.

Le implementazioni discendenti sono esterne a questa codebase

Nomi come cronie, dcron, fcron, bcron e BusyBox identificano progetti esterni, nessuno dei quali viene importato o testato qui. ToolAcre non può dire quale utilizza un host, se accetta tutti gli alias o come gestisce le transizioni temporali. Elencare i discendenti implicherebbe una ricerca comparativa che non è stata effettuata.

Quando la portabilità è importante, ispeziona direttamente l'implementazione target. Il conteggio dei campi, i nomi e gli operatori accettati sono fatti operativi. Una genealogia può aiutare a spiegare le differenze, ma non dovrebbe mai sostituire il manuale attuale del target e un innocuo test di validazione.

Cosa è rimasto in ToolAcre: cinque campi ordinati e una grammatica testata

Ciò che il repository stabilisce è sostanziale. I campi sono ordinati minuto, ora, giorno del mese, mese e giorno della settimana. Gli intervalli numerici sono espliciti; i nomi dei mesi e dei giorni della settimana vengono accettati senza distinzione tra maiuscole e minuscole; Domenica 7 si normalizza in 0; intervalli, elenchi e passaggi si espandono in valori univoci ordinati.

Il parser supporta anche sette alias con nome tranne `@reboot`, produce errori specifici, avverte di date impossibili e campi giorno ORed, esegue il rendering in inglese e calcola i prossimi orari dell'orologio a muro in una zona selezionata. Quel contratto contemporaneo merita una documentazione esatta e indipendente dall’ornamento storico.

anacron e systemd rimangono fuori dal generatore

Nello strumento non viene visualizzata alcuna configurazione anacron o parser del calendario systemd. Questi sistemi non possono essere posizionati come successori o alternative evolutive solo sulla base delle prove raccolte. Anche se comunemente confrontati, il loro comportamento di mancata esecuzione, dipendenza e registrazione richiede fonti separate.

Il rifiuto di sei campi e di operatori non supportati da parte di ToolAcre non costituisce un giudizio su tali sistemi. Protegge semplicemente una grammatica. Gli articoli sulle alternative dovrebbero iniziare con le loro implementazioni e documentazione, non dedurre caratteristiche dalla forma di un'espressione crontab.

Conclusione: utilizzare prove di implementazione per il comportamento e fonti primarie per la storia

La storia tecnica necessita della stessa disciplina della documentazione del codice: le affermazioni dovrebbero essere riconducibili al materiale che le afferma effettivamente. Qui la storia attendibile è il comportamento attuale del generatore e l’esplicita assenza di prove d’archivio per la cronologia del libro di esercizi.

Utilizza ToolAcre per costruire e ispezionare la sintassi a cinque campi coperta dai suoi test. Se pubblichi una cronologia in un secondo momento, aggiungi le fonti primarie, verifica le date e distingui le implementazioni correlate. Omettere ora un traguardo non supportato è più accurato di una narrazione fluida che i lettori non possono verificare.