Δωρεάν μετατροπέας

Έκφραση Cron Γεννήτρια

Δημιουργήστε, εξηγήστε και επικυρώστε εκφράσεις cron αμέσως στο πρόγραμμα περιήγησής σας. Εργαλείο δημιουργίας οπτικών και αναλυτής εκφράσεων — δωρεάν, ιδιωτικό και από την πλευρά του πελάτη.

Έκφραση Cron
0 */6 * * *
Περιγραφή αναγνώσιμη από τον άνθρωπο
Every minute
Επόμενες 5 προγραμματισμένες εκτελέσεις
Calculating...

Σχετικά με αυτό το εργαλείο

Οι εκφράσεις Cron είναι πέντε (ή έξι, ανάλογα με το σύστημα) πεδία χωρισμένα σε χώρο και περιγράφουν ένα χρονοδιάγραμμα: λεπτό, ώρα, ημέρα του μήνα, μήνα και ημέρα της εβδομάδας. Κάθε πεδίο δέχεται αριθμητικές τιμές, εύρη, λίστες, αυξήσεις και χαρακτήρες μπαλαντέρ. Το Cron είναι η de facto μορφή προγραμματισμού Unix από τα τέλη της δεκαετίας του 1970 και τώρα χρησιμοποιείται πολύ πέρα ​​από το Unix — από Kubernetes CronJobs, GitHub Actions, κανόνες AWS EventBridge, εργασίες Jenkins και σχεδόν κάθε άλλο σύστημα προγραμματισμού στην παραγωγή.

Η ανάγνωση και η εγγραφή εκφράσεων cron με το χέρι είναι επιρρεπής σε σφάλματα. Τα πεδία είναι τοποθετημένα, η αλληλεπίδραση ημέρας του μήνα και ημέρας της εβδομάδας δεν είναι προφανής (μια τιμή σε κάθε πεδίο ενεργοποιεί την εργασία, όχι και στα δύο) και τα λάθη παράγουν σιωπηλά χρονοδιαγράμματα που φαίνονται σωστά αλλά ενεργοποιούνται σε λάθος στιγμές. Μια γεννήτρια που μεταφράζει χρονοδιαγράμματα απλά-αγγλικά σε σωστή σύνταξη cron αποφεύγει αυτά τα λάθη.

Αυτό το εργαλείο προσφέρει δύο κατευθύνσεις: δημιουργία μιας έκφρασης cron από μια φιλική μορφή (κάθε Δευτέρα στις 9 π.μ., κάθε 5 λεπτά κατά τις εργάσιμες ώρες) και επεξήγηση μιας υπάρχουσας έκφρασης cron με ανθρώπινους όρους. Και οι δύο εκτελούνται στο πρόγραμμα περιήγησής σας χωρίς καμία αλληλεπίδραση με τον διακομιστή.

Γιατί να χρησιμοποιήσετε μια γεννήτρια Cron

Η σύνταξη του Cron είναι πυκνή και αδυσώπητη. Τα συνηθισμένα λάθη περιλαμβάνουν τη σύγχυση της αρίθμησης ημέρας της εβδομάδας (η Κυριακή είναι 0 ή 7 ανάλογα με το σύστημα), να ξεχνάμε ότι η ημέρα του μήνα και η ημέρα της εβδομάδας χρησιμοποιούν τη σημασιολογία Ή και την παρανόηση της σύνταξης προσαύξησης (*/5 σημαίνει κάθε 5 που ξεκινά από το 0). Μια γεννήτρια τα πιάνει με κατασκευή — οι παραγόμενες εκφράσεις ταιριάζουν με αυτό που περιγράψατε στη φόρμα.

Η ανάγνωση των υπαρχουσών εκφράσεων είναι εξίσου δύσκολη. Ένα πρόγραμμα όπως το 0 9 * * 1-5 διαβάζεται όπως κάθε καθημερινή στις 9 π.μ. αφού γνωρίζετε τη σύνταξη, αλλά όποιος δεν είναι εξοικειωμένος με το cron πρέπει να αναζητήσει κάθε πεδίο. Η εξήγηση της έκφρασης με ανθρώπινους όρους είναι πιο γρήγορη από την εκμάθηση της σύνταξης για μεμονωμένες αλληλεπιδράσεις.

Πώς να το χρησιμοποιήσετε

Επιλέξτε ένα μοτίβο χρονοδιαγράμματος, λάβετε την έκφραση cron.

  1. Επιλέξτε τη λειτουργία παραγωγής: Δημιουργήστε μια έκφραση cron από εισόδους φόρμας (συχνότητα, ώρα, ημέρες) ή εξηγήστε μια υπάρχουσα έκφραση με ανθρώπινους όρους.
  2. Διαμορφώστε το χρονοδιάγραμμα: Επιλέξτε τη συχνότητα (κάθε λεπτό, κάθε ώρα, κάθε μέρα, κάθε εβδομάδα, κάθε μήνα, προσαρμοσμένο). Καθορίστε ώρες, ημέρες και διαστήματα όπως απαιτείται. Η φόρμα περιορίζει τις εισόδους σε έγκυρους συνδυασμούς.
  3. Δημιουργήστε ή εξηγήστε: Η Generation παράγει τυπική σύνταξη cron (5 πεδία). Η εξήγηση αναλύει κάθε πεδίο και δίνει μια περίληψη αναγνώσιμη από τον άνθρωπο.
  4. Χρησιμοποιήστε τον στον προγραμματιστή σας: Επικολλήστε την έκφραση που δημιουργήθηκε στο Kubernetes CronJob spec, στο πρόγραμμα GitHub Actions, στο AWS EventBridge ή στον προγραμματιστή της πλατφόρμας σας.

Κοινές περιπτώσεις χρήσης

Τεχνικές λεπτομέρειες

Το τυπικό cron έχει πέντε πεδία: λεπτό (0–59), ώρα (0–23), ημέρα του μήνα (1–31), μήνα (1–12), ημέρα της εβδομάδας (0–6 ή 0–7, και τις δύο Κυριακή). Κάθε πεδίο δέχεται μια μεμονωμένη τιμή, λίστα διαχωρισμένη με κόμμα, εύρος με παύλα, αύξηση με / ή μπαλαντέρ με *.

Χρήση ημέρας του μήνα και ημέρας της εβδομάδας Ή σημασιολογία: εάν κάποιο από τα δύο έχει οριστεί σε τιμή χωρίς χαρακτήρες μπαλαντέρ, η εργασία εκτελείται όταν τα δύο ταιριάζουν. Αυτό είναι αδιανόητο, αλλά ταιριάζει με τη συμπεριφορά cron του POSIX. Η ρύθμιση και των δύο πεδίων παράγει ένα ευρύτερο χρονοδιάγραμμα, όχι ένα στενότερο.

Οι επεκτάσεις διαφέρουν ανάλογα με την υλοποίηση. Μερικοί δέχονται ένα έκτο πεδίο για δευτερόλεπτα (Quartz, Spring). κάποιοι δέχονται; ως εναλλακτική μπαλαντέρ? Ορισμένες περιλαμβάνουν συντομεύσεις @yearly, @monthly, @daily. Η γεννήτρια παράγει τυπικό cron 5 πεδίων κατάλληλο για τα περισσότερα συστήματα.

Βέλτιστες Πρακτικές

Συχνές ερωτήσεις

Ποια είναι η μορφή έκφρασης cron;
Το τυπικό cron χρησιμοποιεί 5 πεδία: λεπτό (0-59), ώρα (0-23), ημέρα του μήνα (1-31), μήνα (1-12), ημέρα της εβδομάδας (0-7, όπου 0 και 7 είναι Κυριακή). Ειδικοί χαρακτήρες: * (οποιοσδήποτε), , (λίστα), - (εύρος), / (βήμα).
Πώς μπορώ να ορίσω μια εργασία να τρέχει κάθε 5 λεπτά;
Χρησιμοποιήστε */5 στο πεδίο λεπτών: '*/5 * * * *'. Το /5 σημαίνει «κάθε 5η τιμή». Ομοίως, */15 = κάθε 15 λεπτά, */2 = κάθε 2 λεπτά.
Ποια ζώνη ώρας χρησιμοποιεί το cron;
Το Cron χρησιμοποιεί συνήθως τη ζώνη ώρας του συστήματος. Σε διακομιστές Linux, αυτό είναι συνήθως UTC, εκτός εάν έχει ρυθμιστεί διαφορετικά. Οι υπηρεσίες cloud (AWS, GCP) συχνά είναι προεπιλεγμένες σε UTC. Ελέγχετε πάντα τη ρύθμιση ζώνης ώρας του συστήματός σας.
Είναι η ίδια μορφή που χρησιμοποιείται από το GitHub Actions;
Το GitHub Actions χρησιμοποιεί την ίδια μορφή 5 πεδίων αλλά εκτελείται σε ζώνη ώρας UTC. Το AWS CloudWatch και το Kubernetes CronJobs χρησιμοποιούν επίσης αυτή τη μορφή. Ορισμένα συστήματα όπως το Quartz χρησιμοποιούν εκτεταμένη μορφή πεδίων 6-7 με δευτερόλεπτα.
Ποια είναι η διαφορά μεταξύ του 0 την ημέρα της εβδομάδας και του 7;
Και τα δύο σημαίνουν Κυριακή. Το POSIX cron δέχεται 0–6 ή 0–7. Χρησιμοποιήστε ό,τι προτιμά η συγκεκριμένη εφαρμογή cron. οι περισσότεροι δέχονται και τα δύο.
Είναι η επεξήγηση ακριβής για το μη τυπικό cron;
Στοχεύει στάνταρ 5-πεδία cron. Οι επεκτάσεις Quartz (με δευτερόλεπτα), οι παραλλαγές AWS EventBridge και άλλες διάλεκτοι ενδέχεται να μην αναλύονται σωστά. Επιβεβαιώστε την τεκμηρίωση του συστήματος προορισμού.
Αποστέλλεται η έκφρασή μου σε διακομιστή;
Όχι. Η δημιουργία και η εξήγηση συμβαίνουν στο πρόγραμμα περιήγησής σας.
Τι γίνεται με τις @ετήσιες, @μηνιαίες συντομεύσεις;
Οι κοινές εφαρμογές cron υποστηρίζουν τα @yearly, @monthly, @weekly, @daily, @hourly και @reboot ως συντομεύσεις για κοινά χρονοδιαγράμματα. Η γεννήτρια παράγει τυπικές εκφράσεις 5 πεδίων. μπορείτε να αντικαταστήσετε με μη αυτόματο τρόπο τις συντομεύσεις εάν ο προγραμματιστής σας τις αποδέχεται.