Μετάβαση στο κύριο περιεχόμενο
LibraTool logoLibraTool

Κατασκευαστής Εκφράσεων Cron δωρεάν

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

Λειτουργεί εκτός σύνδεσης μόλις φορτωθεί
λεπτό
(0-59)
ώρα
(0-23)
ημέρα
(1-31)
μήνας
(1-12)
ημέρα εβδομάδας
(0-7)

Σε απλή γλώσσα

Στις 9:00 π.μ., Δευτέρα έως Παρασκευή.

Συνηθισμένα μοτίβα

Συμβατό με τυπικό Unix cron, GitHub Actions, Kubernetes CronJob και τα περισσότερα συστήματα προγραμματισμού. Χρησιμοποιήστε * για «κάθε», */5 για «κάθε 5», 1-5 για εύρη, 1,15 για συγκεκριμένες τιμές. Δέχεται επίσης @hourly, @daily, @weekly, @monthly, @yearly, και ονόματα όπως MON-FRI ή JAN-DEC.

Συνηθισμένες χρήσεις

  • Δημιουργήστε Cron για ροές εργασίας GitHub ActionsΤο GitHub Actions χρησιμοποιεί σύνταξη cron για προγραμματισμένες ροές εργασίας. Δημιουργήστε και επαληθεύστε το χρονοδιάγραμμά σας εδώ.
  • Δημιουργήστε Cron για Kubernetes CronJobsΤα πόρια Kubernetes CronJob χρησιμοποιούν τυπική σύνταξη cron. Δημιουργήστε και εξηγήστε την έκφραση οπτικά.
  • Δημιουργήστε καταχωρήσεις Cron για Linux crontabΔημιουργήστε εκφράσεις για παραδοσιακή cron Unix (cron, crontab -e) με αυτοπεποίθηση.
  • Προγραμματίστε εργασίες συντήρησης βάσης δεδομένωνΠρογραμματίστε εργασίες αντιγράφων ασφαλείας, κενού ή ανάλυσης με αυτοπεποίθηση χρησιμοποιώντας εκφράσεις cron.
  • Μάθετε πώς λειτουργούν οι εκφράσεις CronΚάθε προσαρμογή δείχνει άμεση εξήγηση σαφούς αγγλικών και ένα προεπισκόπηση των επόμενων 5 εκτελέσεων — καλύτερος τρόπος για να μάθετε cron.

Πώς λειτουργεί

Ο δημιουργός εκφράσεων cron εκτελείται εξ ολοκλήρου στον browser σας με χειρόγραφο αναλυτή στο lib/cron.ts — χωρίς εξωτερική βιβλιοθήκη ή κλήση σε διακομιστή. Επικυρώνει την έκφραση, συνθέτει περιγραφή σε απλή γλώσσα με τα ενσωματωμένα APIs Intl.DateTimeFormat και Intl.ListFormat του browser για ονόματα ημερών και μηνών ανάλογα με την περιοχή, και υπολογίζει τις επόμενες προγραμματισμένες εκτελέσεις προχωρώντας στον χρόνο με λογική παράλειψης πεδίων αντί να ελέγχει εξαντλητικά κάθε λεπτό.

  1. 1
    Η έκφραση αναλύεται πεδίο προς πεδίο
    Ο αναλυτής χωρίζει την έκφραση σε πέντε (ή έξι) πεδία χωρισμένα με κενά και αναλύει καθένα για κόμματα, εύρη (π.χ. 1-5), βήματα (π.χ. */15) και ονομασμένες τιμές όπως MON ή JAN. Οι @macros όπως @daily αναπτύσσονται στα ισοδύναμα πέντε πεδίων πριν ξεκινήσει η ανάλυση. Μη έγκυρες τιμές ή αριθμοί εκτός εύρους εμφανίζονται ως τυποποιημένα κλειδιά σφάλματος που αντιστοιχούν σε μεταφρασμένα μηνύματα.
  2. 2
    Σύνθεση ευανάγνωστης περιγραφής
    Η describeCron() στο lib/cron.ts δημιουργεί την πρόταση στα αγγλικά (ή μεταφρασμένη) ελέγχοντας ποια πεδία είναι μπαλαντέρ και ποια ρητά σύνολα. Τα ονόματα ημερών και μηνών επιλύονται μέσω Intl.DateTimeFormat με την ενεργή γλώσσα και τα στοιχεία λίστας ενώνονται με Intl.ListFormat, ώστε ο σύνδεσμος («και», «,» ή μορφή ειδική για τη γλώσσα) να ταιριάζει με τη γλώσσα του χρήστη.
  3. 3
    Υπολογισμός επόμενων εκτελέσεων με παράλειψη πεδίων
    Η nextRuns() προχωρά ένα αντικείμενο Date από την τρέχουσα στιγμή, αλλά παραλείπει ολόκληρους μήνες, ημέρες ή ώρες που δεν μπορούν να ταιριάξουν αντί να ελέγχει κάθε λεπτό. Έτσι ένα αδύνατο πρόγραμμα όπως 30 Φεβρουαρίου τερματίζει γρήγορα μέσω ελέγχου ορίζοντα πέντε ετών αντί να επαναλαμβάνεται 2,6 εκατομμύρια φορές.
  4. 4
    Κοινοποίηση της έκφρασης μέσω του fragment του URL
    Κάθε έκφραση που πληκτρολογείτε γράφεται στο fragment του URL της σελίδας ως #expr= (με καθυστέρηση 500 ms μέσω window.history.replaceState). Το fragment δεν αποστέλλεται ποτέ σε διακομιστή· η σελίδα φορτώνει την κατάσταση από αυτό, οπότε η κοινοποίηση ή η αποθήκευση ενός URL επαναφέρει ακριβώς την έκφραση χωρίς κατάσταση στον διακομιστή.

Σχετικά εργαλεία

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