Πώς να δημιουργήσετε και να διαχειριστείτε εργασίες Cron στο Linux


Το Cron είναι ένα από τα πιο χρήσιμα εργαλεία του Linux και ένα από τα αγαπημένα για προγραμματιστές, επειδή σας επιτρέπει να εκτελείτε αυτοματοποιημένες εντολές σε συγκεκριμένες περιόδους, ημερομηνίες και διαστήματα χρησιμοποιώντας σενάρια γενικής χρήσης και ειδικών εργασιών. Δεδομένης αυτής της περιγραφής, μπορείτε να φανταστείτε πώς το χρησιμοποιούν οι διαχειριστές συστήματος για να αυτοματοποιήσουν εργασίες δημιουργίας αντιγράφων ασφαλείας, καθαρισμό καταλόγου, ειδοποιήσεις κ.λπ.

Οι εργασίες Cron εκτελούνται στο παρασκήνιο και ελέγχουν συνεχώς το αρχείο /etc/crontab και τα /etc/cron.*/ και /var/spool/cron/ καταλόγους. Τα αρχεία cron δεν υποτίθεται ότι επεξεργάζονται απευθείας και κάθε χρήστης έχει ένα μοναδικό crontab.

Τότε πώς υποτίθεται ότι δημιουργείτε και επεξεργάζεστε θέσεις εργασίας cron; Με εντολές crontab. Το crontab είναι η μέθοδος που χρησιμοποιείτε για τη δημιουργία, την επεξεργασία, την εγκατάσταση, την απεγκατάσταση και τη λίστα εργασιών cron.

Η εντολή για τη δημιουργία και την επεξεργασία εργασιών cron είναι η ίδια και απλή. Και αυτό που είναι ακόμα πιο ωραίο είναι ότι δεν χρειάζεται να κάνετε επανεκκίνηση του cron μετά τη δημιουργία νέων αρχείων ή την επεξεργασία υπαρχόντων.


crontab -e

Cron Syntax

Όπως συμβαίνει με οποιαδήποτε γλώσσα, η εργασία με το cron είναι πολύ πιο εύκολη όταν κατανοείτε τη σύνταξή του και υπάρχουν 2 μορφές που πρέπει να γνωρίζετε:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Επεξήγηση της παραπάνω σύνταξης cron:

  • Α: Εύρος λεπτών: 0 – 59
  • B: Εύρος ωρών: 0 – 23
  • C: Εύρος ημερών: 0 – 31
  • Δ: Εύρος μηνών: 0 – 12
  • E: Εύρος ημερών της εβδομάδας: 0 – 7. Ξεκινώντας από τη Δευτέρα, το 0 ή το 7 αντιπροσωπεύει την Κυριακή
  • USERNAME: αντικαταστήστε το με το όνομα χρήστη σας
  • /path/to/command – Το όνομα του σεναρίου ή της εντολής που θέλετε να προγραμματίσετε

Δεν είναι μόνο αυτό. Το Cron χρησιμοποιεί 3 σύμβολα τελεστή που σας επιτρέπουν να καθορίσετε πολλές τιμές σε ένα πεδίο:

  1. Αστερίσκος (*): καθορίζει όλες τις πιθανές τιμές για ένα πεδίο
  2. Το κόμμα (,): καθορίζει μια λίστα τιμών
  3. Παύλα (-): καθορίζει ένα εύρος τιμών
  4. Διαχωριστικό (/): καθορίζει μια τιμή βήματος

Τώρα που γνωρίζετε τη σύνταξη και τους τελεστές του Cron, ας δούμε μερικά παραδείγματα cron.

Παραδείγματα εργασίας Cron

Το πρώτο βήμα για την εκτέλεση εντολών cron είναι η εγκατάσταση του crontab με την εντολή:


crontab -e

Εκτελέστε το /root/backup.sh στις 3 π.μ. κάθε μέρα:


0 3 * * * /root/backup.sh

Εκτελέστε το script.sh στις 4:30 μ.μ. τη δεύτερη κάθε μήνα:

30 16 2 * * /path/to/script.sh

Εκτελέστε το /scripts/phpscript.php στις 10 μ.μ. κατά τη διάρκεια της εβδομάδας:

0 22 * * 1-5 /scripts/phpscript.php

Εκτελέστε το perlscript.pl στα 23 λεπτά μετά τα μεσάνυχτα, 2 π.μ. και 4 π.μ., καθημερινά:

23 0-23/2 * * * /path/to/perlscript.pl

Εκτελέστε την εντολή Linux στις 04:05 κάθε Κυριακή:

5 4 * * sun /path/to/linuxcommand

Επιλογές Cron

Κατάλογος εργασιών cron.


crontab -l
OR
crontab -u username -l

Διαγραφή όλων των εργασιών crontab.

crontab -r

Διαγραφή εργασίας Cron για συγκεκριμένο χρήστη.


crontab -r -u username

Χορδές στο Crontab

Οι χορδές είναι από τα αγαπημένα πράγματα του προγραμματιστή επειδή βοηθούν στην εξοικονόμηση χρόνου εξαλείφοντας την επαναλαμβανόμενη γραφή. Το Cron έχει συγκεκριμένες συμβολοσειρές που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε εντολές πιο γρήγορα:

  1. @hourly: Εκτελείται μία φορά κάθε ώρα, π.χ. "0 * * * *"
  2. @midnight: Εκτελέστε μία φορά κάθε μέρα, π.χ. "0 0 * * *"
  3. @daily: ίδιο με τα μεσάνυχτα
  4. @weekly: Εκτελείται μία φορά την εβδομάδα, π.χ. "0 0 * * 0"
  5. @monthly: Εκτελείται μία φορά κάθε μήνα, π.χ. "0 0 1 * *"
  6. @ετησίως: Εκτελείται μία φορά το χρόνο, π.χ. "0 0 1 1 *"
  7. @ετησίως: ίδιο με @ετησίως
  8. @reboot: Εκτελείται μία φορά σε κάθε εκκίνηση

Για παράδειγμα, αυτός είναι ο τρόπος δημιουργίας αντιγράφων ασφαλείας του συστήματός σας κάθε μέρα:

@daily /path/to/backup/script.sh

Σε αυτό το σημείο, έχετε όλα όσα χρειάζεστε για να δημιουργήσετε και να διαχειριστείτε εργασίες συστήματος χρησιμοποιώντας το Cron. Τώρα μπορείτε να αρχίσετε να ρυθμίζετε και να διατηρείτε πολλά περιβάλλοντα χρησιμοποιώντας προγραμματισμένες εντολές.

Πόσο χρήστης του Cron είστε; Και υπάρχουν λεπτομέρειες που μπορείτε να συνεισφέρετε στο άρθρο; Το πλαίσιο συζήτησης είναι παρακάτω.

Όταν καταλαβαίνετε αρκετά για το πώς λειτουργεί το Crontab, μπορείτε να χρησιμοποιήσετε αυτά τα εξαιρετικά βοηθητικά προγράμματα παραγωγής Crontab για να δημιουργήσετε δωρεάν γραμμές crontab.

Επίσης, μπορείτε να διαβάσετε το άρθρο του Ubuntu σχετικά με τον τρόπο χρήσης του Cron εδώ. Έχει πόρους που μπορεί να σας φανούν χρήσιμοι.