Strumenti per sviluppatori · Generatore di Crontab
Dalla versione 7 Unix a Vixie cron: una breve storia di cron
· Sfondo
cron storia prova del software
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.