Γεννήτρια Crontab
Δημιουργήστε και επικυρώστε εκφράσεις cron με άμεσες αναγνώσιμες επεξηγήσεις. Οπτικοποιήστε προγράμματα, προεπισκοπήστε επόμενους χρόνους εκτέλεσης και εξάγετε σε μορφή crontab. Ιδανικό για διαχειριστές συστημάτων Linux/Unix.
Τι είναι ένα αρχείο crontab;
Ένα αρχείο crontab είναι ένα αρχείο διαμόρφωσης που χρησιμοποιείται από τον δαίμονα cron σε λειτουργικά συστήματα τύπου Unix για τον προγραμματισμό εντολών ή σεναρίων που εκτελούνται αυτόματα σε καθορισμένα διαστήματα. Κάθε χρήστης μπορεί να έχει το δικό του αρχείο crontab.
Πόσα πεδία έχει μια έκφραση cron;
Μια τυπική έκφραση cron έχει 5 πεδία: λεπτό (0-59), ώρα (0-23), ημέρα του μήνα (1-31), μήνας (1-12) και ημέρα της εβδομάδας (0-7, όπου 0 και 7 είναι Κυριακή). Ορισμένα συστήματα υποστηρίζουν ένα προαιρετικό 6ο πεδίο για το έτος.
Τι σημαίνει ο αστερίσκος (*) στο cron;
Ο αστερίσκος (*) είναι ένας χαρακτήρας μπαλαντέρ που σημαίνει "κάθε" ή "όλες οι πιθανές τιμές" για εκείνο το πεδίο. Για παράδειγμα, * στο πεδίο λεπτού σημαίνει ότι η εντολή εκτελείται κάθε λεπτό.
Πώς ορίζω πολλαπλές τιμές στο cron;
Μπορείτε να ορίσετε πολλαπλές τιμές χρησιμοποιώντας κόμματα (π.χ. 1,3,5 για Δευτέρα, Τετάρτη, Παρασκευή), εύρη με παύλες (π.χ. 1-5 για Δευτέρα έως Παρασκευή) ή τιμές βήματος με καθέτους (π.χ. */2 για κάθε 2 μονάδες).
Ποια είναι η διαφορά μεταξύ ημέρας του μήνα και ημέρας της εβδομάδας;
Η ημέρα του μήνα (πεδίο 3) ορίζει την ημερομηνία (1-31), ενώ η ημέρα της εβδομάδας (πεδίο 5) ορίζει την ημέρα της εβδομάδας (0-7). Αν και τα δύο είναι περιορισμένα, η εντολή εκτελείται όταν ταιριάζει οποιοδήποτε από τα δύο.
Πώς εκτελώ μια εργασία cron κάθε 5 λεπτά;
Χρησιμοποιήστε την έκφραση */5 * * * * που σημαίνει "κάθε 5 λεπτά". Το */5 στο πεδίο λεπτού δημιουργεί ένα μοτίβο βήματος που ενεργοποιείται στα 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 και 55 λεπτά μετά από κάθε ώρα.
Μπορώ να προγραμματίσω μια εργασία να εκτελείται σε συγκεκριμένες ώρες όπως 9 π.μ. και 5 μ.μ.;
Ναι, χρησιμοποιήστε τιμές διαχωρισμένες με κόμματα: 0 9,17 * * * θα εκτελείται στις 9:00 π.μ. και 5:00 μ.μ. κάθε μέρα. Μπορείτε επίσης να χρησιμοποιήσετε εύρη όπως 0 9-17 * * * για ωριαία εκτέλεση από 9 π.μ. έως 5 μ.μ.
Τι είναι οι ειδικές συμβολοσειρές cron όπως @daily ή @hourly;
Οι ειδικές συμβολοσειρές είναι συντομεύσεις: @yearly ή @annually (μία φορά το χρόνο), @monthly (μία φορά το μήνα), @weekly (μία φορά την εβδομάδα), @daily ή @midnight (μία φορά την ημέρα), @hourly (μία φορά την ώρα) και @reboot (όταν ξεκινά το σύστημα).
Πώς επεξεργάζομαι το αρχείο crontab μου;
Χρησιμοποιήστε την εντολή "crontab -e" για να επεξεργαστείτε το αρχείο crontab σας. Χρησιμοποιήστε "crontab -l" για να εμφανίσετε τις τρέχουσες εργασίες cron σας και "crontab -r" για να καταργήσετε όλες τις εργασίες cron σας. Δημιουργήστε πάντα αντίγραφο ασφαλείας πριν από την επεξεργασία.
Πού αποθηκεύονται τα αρχεία καταγραφής cron;
Τα αρχεία καταγραφής cron αποθηκεύονται συνήθως στο /var/log/cron, /var/log/messages ή /var/log/syslog ανάλογα με την διανομή Linux σας. Μπορείτε επίσης να ανακατευθύνετε την έξοδο cron σε ένα προσαρμοσμένο αρχείο καταγραφής στην καταχώρηση crontab σας.
Γιατί δεν εκτελείται η εργασία cron μου;
Τα κοινά προβλήματα περιλαμβάνουν: εσφαλμένη σύνταξη, λάθος δικαιώματα αρχείων, εντολή όχι στο PATH, μεταβλητές περιβάλλοντος δεν έχουν οριστεί ή ο δαίμονας cron δεν εκτελείται. Ελέγξτε τα αρχεία καταγραφής για μηνύματα σφαλμάτων και επαληθεύστε την έκφρασή σας με αυτό το εργαλείο.
Μπορώ να χρησιμοποιήσω μεταβλητές περιβάλλοντος στο crontab;
Ναι, μπορείτε να ορίσετε μεταβλητές περιβάλλοντος στην κορυφή του αρχείου crontab σας (π.χ. SHELL=/bin/bash, PATH=/usr/bin:/bin). Αυτές οι μεταβλητές ισχύουν για όλες τις εργασίες cron σε αυτό το αρχείο.
Τι είναι η σύνταξη cron 6 πεδίων;
Η σύνταξη 6 πεδίων προσθέτει ένα πεδίο δευτερολέπτων στην αρχή: δευτερόλεπτα λεπτό ώρα ημέρα μήνας ημέρα εβδομάδας. Αυτό υποστηρίζεται από ορισμένες υλοποιήσεις cron όπως το Quartz Scheduler, αλλά όχι από το τυπικό Unix cron.
Πώς δημιουργώ αντίγραφο ασφαλείας του crontab μου;
Εκτελέστε "crontab -l > mycrontab.backup" για να αποθηκεύσετε το crontab σας σε ένα αρχείο. Για επαναφορά, χρησιμοποιήστε "crontab mycrontab.backup". Είναι καλή πρακτική να δημιουργείτε αντίγραφο ασφαλείας πριν κάνετε αλλαγές.