Analizator de expresii Cron

Analizatorul nostru de expresii cron traduce programările cron în limbaj simplu și calculează orele următoare de execuție. Inserează orice expresie cron și vezi instantaneu ce înseamnă, când va rula data viitoare și dacă sintaxa este validă. Acceptă formatul crontab standard de 5 câmpuri (minut, oră, zi, lună, zi a săptămânii), formatul extins de 6 câmpuri cu secunde și presetări comune precum @daily, @hourly, @weekly. Toată procesarea se întâmplă în browserul tău.

star 4.9
auto_awesome AI
New

Analizator Cron calculator

Presets:
*/5 * * * *
MIN HOUR DOM MON DOW
0-59 0-23 1-31 1-12 0-6
translate
Human Readable
Every 5 minutes

Field Breakdown

Next 10 Execution Times

lightbulb Tips

  • •*/5 = every 5, using the step operator
  • •0 = Sunday, 1 = Monday ... 6 = Saturday
  • •@daily, @hourly, @weekly are handy shortcuts
  • •Always test cron before deploying

How to Use the Analizator Cron

edit

Introdu expresia

Tastează sau inserează o expresie cron (5 sau 6 câmpuri). Folosește presetări pentru programări comune.

translate

Citește descrierea

Vezi traducerea în limbaj natural a ceea ce face expresia ta cron.

schedule

Verifică următoarele rulări

Vizualizați următoarele 10 momente de execuție pentru a vă asigura că programul este corect.

build

Creați o expresie

Folosiți constructorul interactiv pentru a crea o nouă expresie cron de la zero.

The Formula

O expresie cron este o definiție de programare care folosește 5 câmpuri separate prin spații: minut (0-59), oră (0-23), zi a lunii (1-31), lună (1-12) și zi a săptămânii (0-6, unde 0=duminică). Fiecare câmp poate folosi metacaractere (*), intervale (1-5), liste (1,3,5) și valori de pas (*/5). Unele sisteme acceptă un al 6-lea câmp (secunde) la început.

┌───────────── minute (0-59) │ ┌───────────── hour (0-23) │ │ ┌───────────── day of month (1-31) │ │ │ ┌───────────── month (1-12) │ │ │ │ ┌───────────── day of week (0-6, Sun=0) * * * * *

lightbulb Variables Explained

  • * Orice valoare (metacaracter)
  • , Separator pentru lista de valori (de ex., 1,3,5)
  • - Interval de valori (de ex., 1-5)
  • / Valori de pas (de ex., */5 = la fiecare 5)

tips_and_updates Pro Tips

1

*/5 * * * * înseamnă la fiecare 5 minute — simbolul / este operatorul de pas

2

0 0 * * 0 rulează la miezul nopții în fiecare duminică (ziua 0 = duminică în majoritatea sistemelor)

3

Folosește @daily, @hourly, @weekly, @monthly ca scurtături pentru programări comune

4

Ziua săptămânii: 0=Dum, 1=Lun, 2=Mar, 3=Mie, 4=Joi, 5=Vin, 6=Sâm

5

Atât ziua lunii cât și ziua săptămânii nu pot fi specifice simultan în cronul standard

6

Numele lunilor (IAN-DEC) și ale zilelor (DUM-SÂN) funcționează în multe implementări cron

7

Testează întotdeauna expresiile cron înainte de implementare — erorile de tip off-by-one sunt frecvente

Analizatorul nostru gratuit de expresii cron traduce programările cron în text ușor de citit și afișează următoarele momente de execuție. Validați sintaxa cron, înțelegeți fiecare câmp și verificați programările înainte de implementare. Acceptă formate cron standard cu 5 câmpuri și extinse cu 6 câmpuri.

Analizor de expresii Cron - Traduceți Cron în limba engleză

Lipiți orice expresie cron și vedeți instantaneu ce înseamnă în limbaj simplu. Analizatorul nostru descompune fiecare câmp (minut, oră, zi, lună, zi a săptămânii) și explică programul.

Acceptă:

  • metacaractere (*)
  • intervale (1-5)
  • liste (1,3,5)
  • pași (*/5)
  • valori denumite (LUN-VIN, IAN-DEC)

Calculator de programări Cron - Următoarele ore de rulare

Vedeți exact când se va executa următorul job cron. Calculatorul nostru afișează următoarele 10 ore de rulare cu date și mărci temporale, astfel încât să puteți verifica dacă programul este corect înainte de a-l implementa în producție.

Nu mai implementați niciodată un program cron greșit.

Cum funcționează o expresie Cron?

O expresie cron funcționează prin potrivirea orei curente cu un șablon format din cinci câmpuri separate prin spații:

  • minut
  • oră
  • zi a lunii
  • lună
  • zi a săptămânii

Daemonul cron (crond) se activează în fiecare minut și rulează orice job ale cărui câmpuri se potrivesc în totalitate cu ceasul curent, așa cum este descris în specificația POSIX crontab și în pagina de manual Linux crontab(5). Fiecare câmp acceptă un metacaracter (*) pentru „orice valoare”, plus intervale, liste și operatori de pas.

Vixie cron, implementarea utilizată pe scară largă pe majoritatea distribuțiilor Linux, urmează acest comportament. Înțelegerea faptului că cron evaluează minut cu minut explică de ce cron nu poate programa în mod nativ sarcini la intervale mai mici de un minut fără un câmp pentru secunde.

Ce înseamnă cele cinci câmpuri Cron?

Cele cinci câmpuri cron, citite de la stânga la dreapta, sunt:

  • minut (0-59)
  • oră (0-23)
  • zi a lunii (1-31)
  • lună (1-12)
  • zi a săptămânii (0-6, unde 0 este duminică)

Această ordine este definită de standardul POSIX (IEEE Std 1003.1) și documentată în pagina de manual crontab(5) menținută la man7.org. Câmpurile lună și zi a săptămânii acceptă, de asemenea, abrevieri de trei litere, cum ar fi IAN până la DEC și DUM până la SÂM în majoritatea implementărilor.

O regulă POSIX cheie: atunci când atât ziua lunii, cât și ziua săptămânii sunt restricționate (niciuna nu este *), cron rulează jobul dacă oricare dintre câmpuri se potrivește, nu ambele. Acest comportament SAU surprinde mulți dezvoltatori și cauzează execuții suplimentare neașteptate.

Cum se utilizează operatorii de pas, interval și listă din Cron

Operatorii de pas, interval și listă din cron vă permit să exprimați programări complexe în mod compact.

  • Un interval precum 1-5 înseamnă valori consecutive (de luni până vineri în câmpul pentru ziua săptămânii).
  • O listă precum 1,3,5 se potrivește numai cu acele valori specifice.
  • Un pas precum */15 în câmpul minut înseamnă „la fiecare 15 minute” (0, 15, 30, 45), iar pașii se pot combina cu intervale, ca în 0-30/10.

Acești operatori sunt documentați în manualul crontab(5) și în codul sursă Vixie cron. De exemplu, */5 9-17 * * 1-5 se declanșează la fiecare cinci minute între 09:00 și 17:00 în timpul săptămânii.

Combinarea operatorilor menține liniile crontab ușor de citit, acoperind în același timp ferestre recurente complexe.

Ce sunt șirurile speciale Cron precum @daily și @reboot?

Șirurile speciale cron sunt comenzi rapide denumite care înlocuiesc sintaxa cu cinci câmpuri pentru programări obișnuite.

  • @yearly (sau @annually) este egal cu 0 0 1 1 *
  • @monthly este egal cu 0 0 1 * *
  • @weekly este egal cu 0 0 * * 0
  • @daily (sau @midnight) este egal cu 0 0 * * *
  • @hourly este egal cu 0 * * * *

Aceste alerte provin din Vixie cron și sunt documentate în pagina de manual crontab(5) de pe man7.org. Un caz special, @reboot, rulează un job o dată la pornirea sistemului, în loc de o programare după ceas.

Rețineți că nu orice implementare cron acceptă aceste șiruri; cron POSIX nu le cere, așa că verificați compatibilitatea înainte de a vă baza pe ele în scripturi portabile.

Acceptă Cron secundele și programările la intervale mai mici de un minut?

Cron Unix standard nu acceptă secunde; cea mai mică rezoluție a sa este de un minut, deoarece crond evaluează programul o dată pe minut, conform specificației crontab(5).

Pentru a programa sarcini cu precizie la nivel de secundă, dezvoltatorii folosesc dialecte cron extinse care adaugă un al șaselea câmp la început. Atât Quartz Scheduler, cât și sintaxa cron @Scheduled din Spring plasează secundele pe primul loc, rezultând secundă minut oră zi-lună lună zi-săptămână. AWS EventBridge (fostul CloudWatch Events) folosește un cron cu șase câmpuri, având în schimb un câmp pentru an.

Deoarece aceste formate diferesc, o expresie cu șase câmpuri scrisă pentru Quartz nu va rula corect în crontab simplu. Confirmați întotdeauna ce motor analizează expresia dvs., deoarece numărul de câmpuri și decalajele variază între sisteme.

Cum influențează fusurile orare joburile cron?

Fusurile orare influențează joburile cron deoarece majoritatea daemonilor cron evaluează programele în funcție de ora locală a sistemului, nu UTC. Când serverul aplică tranzițiile pentru ora de vară, joburile programate în timpul orei sărite sau repetate pot fi ratate sau pot rula de două ori; manualul crontab(5) și documentația Bazei de date cu fusuri orare IANA descriu ambele aceste cazuri limită.

Pentru a evita ambiguitatea, multe echipe setează serverul sau variabila CRON_TZ din crontab pe UTC, urmând recomandări similare cu cele din ISO 8601 pentru o cronometrare clară. Planificatoarele în cloud, cum ar fi Google Cloud Scheduler și AWS EventBridge, vă permit să specificați în mod explicit un fus orar.

Când sincronizarea precisă contează, documentați întotdeauna dacă o expresie este în format UTC sau local.

Cum să testezi și să validezi în siguranță o expresie cron

Pentru a testa în siguranță o expresie cron, validați-i sintaxa și previzualizați viitoarele ore de execuție înainte de a o adăuga într-un fișier crontab activ. Acest analizor verifică intervalele de câmpuri și operatorii, apoi listează următoarele momente de execuție, astfel încât să puteți confirma că frecvența corespunde intenției dvs.

Pe un server, rulați crontab -l pentru a examina joburile existente și crontab -e pentru a le edita, conform descrierii din paginile de manual crontab(1) și crontab(5). Redirecționați rezultatul jobului într-un fișier de jurnal (de exemplu, adăugând >> /var/log/myjob.log 2>&1) pentru ca eventualele erori să fie vizibile.

Testarea în prealabil previne erorile costumice de tip „off-by-one”, cum ar fi confundarea minutului cu ora, care ies la iveală abia după ce un program rulează în producție.

Greșeli comune la scrierea expresiilor cron

Cea mai comună greșeală în cron este citirea greșită a ordinea câmpurilor și inversarea minutului cu ora, astfel încât 0 9 * * * (9 AM) devine 9 0 * * * (00:09).

  • O altă eroare frecventă este să vă așteptați ca ziua lunii și ziua săptămânii să se combine cu logica ȘI, când cronul POSIX folosește SAU atunci când ambele sunt setate, conform specificației crontab(5).
  • De asemenea, dezvoltatorii presupun că ziua 7 înseamnă duminică; cronul standard folosește 0-6, deși Vixie cron acceptă 7 ca duminică pentru comoditate.
  • Folosirea */5 în câmpul pentru ore cu sensul de „la fiecare 5 ore” funcționează, dar uitarea unui 0 inițial în câmpul pentru minute face ca jobul să se declanșeze în fiecare minut al acelor ore.
  • În cele din urmă, semnele procentuale (%) care nu sunt escapate din comenzi sunt tratate de cron ca linii noi.

Unde sunt utilizate expresiile cron în DevOps și CI/CD?

Expresiile cron sunt utilizate în tot ecosistemul DevOps și CI/CD pentru a declanșa automatizări recurente fără intervenție manuală. GitHub Actions programează fluxuri de lucru cu un cron standard cu cinci câmpuri în cheia on.schedule.cron, iar programele pentru pipeline-urile GitLab CI folosesc aceeași sintaxă.

CronJob-urile din Kubernetes, definite în API-ul batch/v1, rulează sarcini containerizate conform unui program cron, așa cum este documentat în documentația oficială Kubernetes. Platformele cloud, inclusiv AWS EventBridge, Google Cloud Scheduler și Azure Logic Apps, oferă programare în stil cron pentru joburi serverless.

Utilizările comune includ:

  • backup-uri nocturne de baze de date
  • încărcarea cache-ului
  • generarea de rapoarte
  • reînnoirea certificatelor
  • rotația jurnalelor (log rotation)

Deoarece fiecare platformă poate folosi un dialect ușor diferit, validați întotdeauna expresia în raport cu analizorul sistemului țintă.

Frequently Asked Questions

sell

Tags