Πώς να επεξεργαστείτε το αρχείο Linux Crontab για να προγραμματίσετε εργασίες

Τι να ξέρετε

  • Εμφανίστε τα περιεχόμενα του crontab με: crontab -l
  • Επεξεργαστείτε το κρόντο με: crontab -ε
  • Ο χρονισμός λειτουργεί με: λεπτό, ώρα, ημέρα του μήνα, μήνας, μερα της ΕΒΔΟΜΑΔΑΣ. Χρησιμοποιήστε έναν αστερίσκο (*) να τρέχει το cron κάθε μέρα, ώρα, κ.λπ.

Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε το cron, το οποίο είναι ένας δαίμονας στο Linux που εκτελεί διαδικασίες σε τακτά χρονικά διαστήματα. Ελέγχει ορισμένους φακέλους σε ένα σύστημα για εκτέλεση σεναρίων σε μια σειρά φακέλων, συμπεριλαμβανομένων των /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly και /etc/cron.monthly; υπάρχει επίσης ένα αρχείο που ονομάζεται /etc/crontab.

Τοποθετήστε σενάρια στους φακέλους Cron

Τοποθετήστε σενάρια στους σχετικούς φακέλους για να εκτελούνται σε τακτά χρονικά διαστήματα. Για παράδειγμα, ανοίξτε ένα παράθυρο τερματικού και εκτελέστε τα παρακάτω εντολή ls:

ls /etc/cron*

Η εντολή παραθέτει τα προγράμματα ή τα σενάρια που εκτελούνται ωριαία, ημερήσια, εβδομαδιαία και μηνιαία.

Λίστα cron Linux

Αυτοί οι φάκελοι είναι ασαφείς. Για παράδειγμα,

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

Εκεί μπαίνει το αρχείο crontab. Με την επεξεργασία του αρχείου crontab, εκτελείτε ένα σενάριο ή ένα πρόγραμμα την ακριβή ημερομηνία και ώρα που θέλετε να εκτελεστεί.

Άδειες

Η εντολή crontab απαιτεί ο χρήστης να έχει άδεια να επεξεργαστεί ένα αρχείο crontab. Υπάρχουν δύο αρχεία που διαχειρίζονται τα δικαιώματα crontab: /etc/cron.allow και /etc/cron.deny.

  • Εάν υπάρχει το αρχείο /etc/cron.allow, ο χρήστης που θέλει να επεξεργαστεί το αρχείο crontab πρέπει να αναφέρεται σε αυτό το αρχείο.
  • Εάν το αρχείο cron.allow δεν υπάρχει, αλλά υπάρχει ένα αρχείο /etc/cron.deny, ο χρήστης δεν πρέπει να υπάρχει σε αυτό το αρχείο.
  • Εάν υπάρχουν και τα δύο αρχεία, το αρχείο /etc/cron.allow αντικαθιστά το αρχείο /etc/cron.deny.
  • Εάν δεν υπάρχει κανένα αρχείο, εξαρτάται από τη διαμόρφωση του συστήματος εάν ένας χρήστης μπορεί να επεξεργαστεί το crontab.

Ο χρήστης root μπορεί πάντα να επεξεργαστεί το αρχείο crontab. Μπορείτε είτε να χρησιμοποιήσετε η εντολή su για μετάβαση στον χρήστη root ή την εντολή sudo για να εκτελέσετε την εντολή crontab.

Επεξεργαστείτε το Αρχείο Crontab

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

Για να ελέγξετε αν έχετε αρχείο crontab, εκτελέστε την ακόλουθη εντολή:

crontab -l. 

Εάν δεν έχετε αρχείο crontab, το μήνυμα ουδε κρονταμπ για εμφανίζεται, διαφορετικά εμφανίζεται το αρχείο crontab.

Αυτή η λειτουργία διαφέρει από σύστημα σε σύστημα. Μερικές φορές δεν εμφανίζει απολύτως τίποτα και άλλες φορές εμφανίζει μην επεξεργαστείτε αυτό το αρχείο.

Λίστα crontab Linux

Για να δημιουργήσετε ή να επεξεργαστείτε ένα αρχείο crontab, εκτελέστε την ακόλουθη εντολή:

crontab -ε. 

Το αρχείο που ανοίγει έχει πολλές πληροφορίες, αλλά το βασικό μέρος είναι το παράδειγμα πριν από το τέλος της ενότητας σχολίων (τα σχόλια σημειώνονται με γραμμές που ξεκινούν με #).

# m h dom mon dow εντολή. 
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
Crontab επεξεργασίας Linux

Υπάρχουν έξι πληροφορίες που χωρούν σε κάθε γραμμή του αρχείου crontab:

  • Το λεπτό της ημέρας η εντολή είναι να τρέξει (m).
  • Την ώρα της ημέρας η εντολή είναι να εκτελεστεί (η).
  • Την ημέρα του μήνα η εντολή είναι να τρέξει (dom).
  • Ο μήνας που θα εκτελεστεί η εντολή (mon).
  • Την ημέρα της εβδομάδας η εντολή είναι να τρέξει (down).
  • Η εντολή.

Για κάθε στοιχείο (εκτός από την εντολή), μπορείτε να καθορίσετε έναν χαρακτήρα μπαλαντέρ. Κοιτάξτε το ακόλουθο παράδειγμα γραμμής crontab:

30 18 * * * tar -zcf /var/backups/home.tgz /home/

Σε 30 λεπτά, 18 ώρες και οποιαδήποτε ημέρα, μήνα και ημέρα της εβδομάδας, αυτή η καταχώριση στο crontab θα φερμουάρ και πίσσα τον αρχικό κατάλογο στο φάκελο /var/backups.

Στα παρακάτω παραδείγματα, αντικαταστήστε την εντολή λέξης με την εντολή που θέλετε να εκτελέσετε.

Για να λάβετε μια εντολή να εκτελείται μετά από 30 λεπτά κάθε ώρα, εκτελέστε την ακόλουθη εντολή:

30 * * * * εντολή. 

Για να λάβετε μια εντολή να εκτελείται κάθε λεπτό μετά τις 6 μ.μ., εκτελέστε την ακόλουθη εντολή:

* 18 * * * εντολή. 

Επομένως, πρέπει να είστε προσεκτικοί σχετικά με τη ρύθμιση των εντολών crontab.

Για παράδειγμα:

* * * 1 * εντολή. 

Αυτή η εντολή εκτελείται κάθε λεπτό κάθε ώρας κάθε ημέρας κάθε εβδομάδας τον Ιανουάριο.

Για να εκτελέσετε μια εντολή στις 5 π.μ. της 1ης Ιανουαρίου, εισαγάγετε την ακόλουθη εντολή στο αρχείο crontab:

0 5 1 1 * εντολή. 

Πώς να αφαιρέσετε ένα αρχείο Crontab

Τις περισσότερες φορές, δεν θα θέλετε να αφαιρέσετε το αρχείο crontab. Ωστόσο, ίσως θέλετε να αφαιρέσετε ορισμένες σειρές από το αρχείο crontab.

Για να καταργήσετε το αρχείο crontab του χρήστη σας, εκτελέστε την ακόλουθη εντολή:

crontab -r. 

Ένας ασφαλέστερος τρόπος για να το κάνετε αυτό είναι να εκτελέσετε την ακόλουθη εντολή:

κροντάμπ -ι. 

Το λειτουργικό σύστημα ζητά επαλήθευση πριν καταργήσει το αρχείο crontab.