Γεννήτρια & επεξήγηση εκφράσεων Cron

Φτιάξτε ένα πρόγραμμα crontab με κλικ ή επικολλήστε ένα υπάρχον. Παίρνετε επεξήγηση σε απλά ελληνικά, έλεγχο ανά πεδίο και τις επόμενες 10 εκτελέσεις στη ζώνη ώρας σας.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

λεπτόώραημέρα (μήνα)μήναςημέρα (εβδ.)

Οπτικός δημιουργός

Επόμενες 10 εκτελέσεις

    Πώς να χρησιμοποιήσετε: Γεννήτρια εκφράσεων Cron

    1. Πληκτρολογήστε μια έκφραση cron όπως */15 * * * * ή πατήστε μια προεπιλογή.
    2. Διαβάστε την περιγραφή σε απλά ελληνικά για να βεβαιωθείτε ότι κάνει αυτό που περιμένετε. Τα μη έγκυρα πεδία επισημαίνονται μαζί με την αιτία.
    3. Χρησιμοποιήστε τις καρτέλες του Οπτικού δημιουργού για να ορίσετε λεπτό, ώρα, ημέρα μήνα, μήνα και ημέρα εβδομάδας με Κάθε, Κάθε N, Επιλογή ή Εύρος.
    4. Ελέγξτε τις επόμενες 10 εκτελέσεις και διαλέξτε τη ζώνη ώρας του server αν διαφέρει από τη δική σας.
    5. Αντιγράψτε την έκφραση στο crontab σας, σε ένα Kubernetes CronJob, στο schedule του GitHub Actions ή στις ρυθμίσεις του CI.

    Η σύνταξη του cron σε ένα λεπτό

    Μια τυπική έκφραση cron έχει πέντε πεδία χωρισμένα με κενά:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    ΣύμβολοΣημασίαΠαράδειγμα
    *κάθε τιμή* * * * * κάθε λεπτό
    ,λίστα0 9,17 * * * στις 09:00 και στις 17:00
    -εύρος0 9 * * 1-5 καθημερινές στις 09:00
    /βήμα*/10 * * * * κάθε 10 λεπτά
    @dailyμακροεντολήίδιο με 0 0 * * *· επίσης @hourly, @weekly, @monthly, @yearly, @reboot

    Η παγίδα ημέρας μήνα / ημέρας εβδομάδας

    Όταν και τα δύο πεδία ημέρας είναι περιορισμένα (κανένα δεν ξεκινά με *), το cron εκτελείται όταν ταιριάζει οποιοδήποτε από τα δύο. Έτσι, το 0 0 13 * 5 εκτελείται κάθε 13η του μήνα και κάθε Παρασκευή, όχι μόνο την Παρασκευή και 13. Η γεννήτρια ακολουθεί αυτόν τον κανόνα του Vixie cron και η περιγραφή γράφει «ή» ώστε να το προσέξετε.

    Ζώνες ώρας και θερινή ώρα

    Το cron χρησιμοποιεί την τοπική ζώνη ώρας του server, εκτός αν έχει ρυθμιστεί διαφορετικά (CRON_TZ= σε ορισμένες υλοποιήσεις cron, timeZone στα Kubernetes CronJobs· το GitHub Actions χρησιμοποιεί πάντα UTC). Επιλέξτε αυτή τη ζώνη στην προεπισκόπηση εκτελέσεων. Εργασίες που πέφτουν μέσα σε κενό θερινής ώρας (για παράδειγμα 02:30 τη νύχτα που οι ώρες πάνε μπροστά) παραλείπονται στην προεπισκόπηση, επειδή αυτή η τοπική ώρα δεν υπάρχει ποτέ.

    Συνηθισμένα προγράμματα

    • */5 * * * *: κάθε 5 λεπτά
    • 0 */2 * * *: κάθε 2 ώρες, στην ακριβή ώρα
    • 0 9 * * 1-5: 09:00 τις καθημερινές
    • 0 0 1 * *: μεσάνυχτα την πρώτη ημέρα κάθε μήνα
    • 0 3 * * 0: 03:00 κάθε Κυριακή, τυπικό παράθυρο για backup

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

    Πώς εκτελώ ένα cron job κάθε 5 λεπτά;
    Χρησιμοποιήστε */5 * * * *. Το βήμα /5 στο πεδίο των λεπτών σημαίνει κάθε 5ο λεπτό ξεκινώντας από το 0: 00, 05, 10 κ.ο.κ.
    Υποστηρίζει το cron δευτερόλεπτα;
    Το τυπικό crontab όχι· η μικρότερη μονάδα είναι το ένα λεπτό. Τα Quartz, Spring και ορισμένοι cloud schedulers προσθέτουν πεδίο δευτερολέπτων (6 ή 7 πεδία). Το εργαλείο ελέγχει την τυπική μορφή 5 πεδίων και σας ενημερώνει όταν βλέπει 6 πεδία.
    Η Κυριακή είναι 0 ή 7;
    Και τα δύο. Στο πεδίο ημέρας εβδομάδας, τόσο το 0 όσο και το 7 σημαίνουν Κυριακή, και μπορείτε επίσης να γράψετε ονόματα όπως SUN ή MON-FRI.
    Γιατί η εργασία μου εκτελείται σε περισσότερες ημέρες από όσες περίμενα;
    Αν περιορίσατε και την ημέρα μήνα και την ημέρα εβδομάδας, το cron εκτελείται όταν ταιριάζει οποιοδήποτε από τα δύο. Ορίστε το ένα σε * ώστε να απαιτείται μόνο το άλλο.
    Σε ποια ζώνη ώρας είναι οι επόμενες εκτελέσεις;
    Από προεπιλογή, στη ζώνη ώρας του browser σας. Επιλέξτε από τη λίστα τη ζώνη του server σας (συχνά UTC) για να δείτε ακριβώς πότε εκτελείται εκεί η εργασία.

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