Γεννήτρια cron
Οι εκφράσεις Cron προγραμματίζουν επαναλαμβανόμενες εργασίες: δημιουργία αντιγράφων ασφαλείας στις 2 π.μ., αναφορές κάθε Δευτέρα, εκκαθάριση προσωρινής μνήμης ανά ώρα. Πέντε (ή έξι με δευτερόλεπτα) πεδία όπως 0 9 * * 1-5 σημαίνουν 09:00 καθημερινές. Δημιουργήστε εκφράσεις οπτικά αντί να απομνημονεύσετε τη σειρά πεδίων.
Λεπτό
Ώρα
Ημέρα του μήνα
Μήνας
Ημέρα της εβδομάδας
Έξοδος
0 9 * * 1-5
Πώς να δημιουργήσετε μια έκφραση cron
1. Επιλέξτε χρονοδιάγραμμα: λεπτό, ώρα, ημέρα του μήνα, μήνα, ημέρα της εβδομάδας.
2. Διαβάστε την παραγόμενη έκφραση π.χ. 0 30 8 * * *.
3. Επαληθεύστε ότι η περιγραφή που είναι αναγνώσιμη από τον άνθρωπο ταιριάζει με την πρόθεση.
4. Αντιγράψτε στο πρόγραμμα crontab, Kubernetes CronJob ή GitHub Actions.
Παραδείγματα προγράμματος Cron
Κάθε μέρα στις 8:30 π.μ.
0 30 8 * * * σε Χαλαζία έξι πεδίων. 30 8 * * * σε τυπική κορώνα πέντε πεδίων.
Κάθε 15 λεπτά
*/15 * * * * εκτελείται στις :00, :15, :30, :45 κάθε ώρα.
Πρώτη του μήνα μεσάνυχτα
0 0 1 * * εκτελεί εργασία μηνιαίας χρέωσης.
Πότε να χρησιμοποιήσετε αυτό το εργαλείο
• Κατά την αποφυγή σφαλμάτων κατά σειρά πεδίων.
• Κατά την τεκμηρίωση του χρονοδιαγράμματος για βιβλία λειτουργίας ops.
• Κατά τη σύγκριση της σύνταξης του Linux cron με το AWS EventBridge.
Πότε να επιλέξετε κάτι άλλο
• Όταν ο προγραμματιστής χρησιμοποιεί μη τυπική σύνταξη — ελέγξτε τα έγγραφα του παρόχου cloud.
• Όταν έχει σημασία η ζώνη ώρας — cron συχνά UTC σε διακομιστές. μετατρέψτε ρητά.
• Όταν απαιτείται προγραμματισμός μικρότερου του λεπτού — χρησιμοποιήστε χρονόμετρα διαστήματος και όχι κλασικό cron.
Μνημονική σειρά πεδίου<
Λεπτά Ώρα Ημέρα Μήνας Καθημερινή — ή προσθέστε Δευτερόλεπτα στην αρχή για Quartz. Πρώτα γράψτε την περιγραφή και μετά αντιστοιχίστε στα πεδία.
Επικάλυψη με ανθρώπινα προγράμματα
Το "Κάθε καθημερινά πρωί" γίνεται 0 9 * * 1-5 — η θερινή ώρα αλλάζει το τοπικό ρολόι τοίχου εάν ο serverς TZ παρατηρεί θερινή ώρα.
Το πεδίο χρονοδιαγράμματος CronJob
χρησιμοποιεί τυπικό cron. ConcurrencyPolicy Forbid αποφεύγει τις επικαλυπτόμενες εργασίες δημιουργίας αντιγράφων ασφαλείας.
Συχνές ερωτήσεις
Πέντε έναντι έξι πεδίων;
Κλασικό cron: λεπτό ώρα dom μήνα κάτω. Ορισμένοι προσθέτουν πρώτα δευτερόλεπτα.
Ημέρα του μήνα έναντι ημέρας της εβδομάδας;
Και τα δύο που προσδιορίζονται συχνά σημαίνουν Ή στο Vixie cron — προκαλεί σύγχυση — χρησιμοποιούν ένα πεδίο ως *.
Ζώνη ώρας;
Τοπικός serverς ή UTC — Πεδίο spec.timeZone Kubernetes CronJob σε νεότερες εκδόσεις.
*/2 σημαίνει;
Κάθε 2 μονάδες αυτού του πεδίου — */2 σε πεδίο ώρας κάθε δύο ώρες.
Τοπικό εργαλείο;
Ναι — έκφραση ενσωματωμένη στο πρόγραμμα περιήγησης.
Δοκιμάστε τις επόμενες εκτελέσεις;
Χρησιμοποιήστε το croniter ή την κονσόλα παρόχου για να παραθέσετε τους επόμενους N χρόνους ενεργοποίησης.