Πολύ συχνά σε συστήματα που μοιάζουν με LinuxΕίναι απαραίτητο να αυτοματοποιηθούν ορισμένες διαδικασίες ρουτίνας. Ειδικοί σχεδιαστές χρησιμοποιούνται για αυτό. Ένα από τα πιο γνωστά από αυτά είναι το Cron, το οποίο θα συζητηθεί σε αυτό το άρθρο.

Τι είναι το Cron;

Το όνομα του προγράμματος προέρχεται από την ελληνική γλώσσα"Χρόνος", που σημαίνει χρόνος. Που, στην πραγματικότητα, είναι λογικό. Το καθήκον του δαίμονα είναι να εκτελέσει τις εντολές που γράφονται σε αυτό σε συγκεκριμένες ώρες. Η πραγματική διαδικασία υλοποίησης βασίζεται στον έλεγχο των πινάκων κορώνας και στη σύγκρισή τους με την τρέχουσα ημερομηνία και ώρα.

Αρχείο Crontab

Το πιο σημαντικό στοιχείο της διαμόρφωσης Cron είναιαρχείο ρυθμίσεων crontab. Περιέχει τις εντολές εκτέλεσης και τις διαδρομές στα σενάρια. Όλοι τους τρέχουν ως ρίζες. Δεδομένου ότι βρίσκονται στον κατάλογο /etc/cron.d, αυτά τα αρχεία πρέπει να διαμορφώνονται εκεί.

cron ρυθμίσεις

Για κάθε μεμονωμένο χρήστη του συστήματος χρησιμοποιεί το δικό του αρχείο crontab.

Διαφορετικές διανομές Linux χρησιμοποιούν τους καταλόγους τους για να αποθηκεύουν τις προτιμήσεις των χρηστών. Για το RedHat, αυτό είναι var/ /spool / cron. Στο Debian και το Ubuntu, αυτό θα είναι var / spool / cron / crontabs. Και var / spool / cron / tabs στο SUSE.

Λίστα εντολών για τη διαχείριση του crontab

Η Cron διαθέτει ένα σύνολο ειδικών οδηγιών, με τις οποίες μπορείτε να διαχειριστείτε τον προγραμματιστή. Εφαρμόστε τα σε συνδυασμό με το crontab. Ακολουθεί μια σύντομη λίστα:

  • -u username. Ορίζει τον χρήστη του οποίου οι εργασίες και οι ρυθμίσεις θα λάβουν περαιτέρω μέτρα. Αν παραλείψετε αυτό το κλειδί, θα οριστεί ο προεπιλεγμένος χρήστης.
  • -l. Εμφανίζει την τρέχουσα λίστα εργασιών.
  • -ε. Εκτελεί τον επεξεργαστή για τον προγραμματιστή εργασιών.
  • -r. Καταργεί όλες τις διαθέσιμες εργασίες από τη λίστα.

Μορφή εργασίας

Όπως αναφέρθηκε παραπάνω, η διαμόρφωση Cron είναι να ορίσετε τις εντολές σε ένα ειδικό αρχείο. Μοιάζει με ένα απλό ρεκόρ που αποτελείται από έξι στήλες:

  • το πρώτο δείχνει τον αριθμό των λεπτών. Το διαθέσιμο εύρος είναι από 0 έως 59. Μπορείτε να χρησιμοποιήσετε πολλαπλές τιμές, εύρος και ειδικούς χαρακτήρες.
  • η δεύτερη στήλη είναι το ρολόι. Μπορούν να χρησιμοποιηθούν τιμές από 0 έως 23.
  • την επόμενη μέρα. Εδώ μπορείτε να ορίσετε έναν αριθμό από 1 έως 31.
  • ο τέταρτος είναι ο μήνας. Η ελάχιστη τιμή είναι 1, η μέγιστη τιμή είναι 12.
  • την πέμπτη εβδομάδα. 0 ή 7 αντιστοιχεί στην Κυριακή.
  • Η τελευταία εντολή είναι η ίδια η εντολή.

Όπως αναφέρθηκε, μπορείτε να καθορίσετε στο αρχείοειδικούς χαρακτήρες, "*" ή "/". Για παράδειγμα, ένα τέτοιο ρεκόρ 23 * / 2 *** echo "Execute" σημαίνει ότι κάθε ισοβαρή ώρα και 23 λεπτά θα εμφανίσει το "Run".

cron setup

Χαρακτηριστικά του αρχείου crontab

Κατά τη διαμόρφωση του Cron, θυμηθείτε ότι έχει συγκεκριμένες ιδιότητες που πρέπει να λαμβάνονται υπόψη κατά τη διαμόρφωση:

  • κάθε αρχείο πρέπει απαραίτητα να τελειώνει με μια κενή συμβολοσειρά, διαφορετικά το τελευταίο στοιχείο μπορεί να αγνοηθεί και μερικές φορές ολόκληρο το αρχείο.
  • τα αρχεία που τοποθετούνται σε καταλόγους που έχουν σημείο στο όνομα θα αγνοηθούν επίσης από τον προγραμματιστή.
  • Στα αρχεία ρυθμίσεων μπορείτε να χρησιμοποιήσετε τα σύμβολα πλέγματος "#". Χρησιμοποιούνται για την επισήμανση γραμμών με σχόλια. Αυτό είναι πολύ χρήσιμο για την περιγραφή προγραμματισμένων εργασιών και εντολών.

Πρόσθετες μεταβλητές

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

  • Κυρ - Κυριακή;
  • mon - Δευτέρα;
  • Τρι - Τρίτη.
  • wed - περιβάλλον?
  • Πέμπτη - Πέμπτη;
  • fri - Παρασκευή.
  • sat - Σάββατο.

Για μήνες, υπάρχουν και κάποια κυριολεκτική τιμές - Ιαν, Φεβ, Μαρ, Απρ, Μαϊ, Ιουν, Ιουλ, Αυγ, Σεπ, Οκτ, Νοε, Δεκ

tuning cron centos

Επίσης, για να ρυθμίσετε τις παραμέτρους του Cron, υπάρχουν ξεχωριστές μεταβλητές που μπορούν να αντικαταστήσουν ολόκληρες γραμμές εντολών:

  • @reboot. Η εντολή θα ξεκινήσει κάθε φορά που ξεκινάτε τον υπολογιστή.
  • @ ετησίως. Αυτό το έργο θα ξεκινήσει μία φορά το χρόνο. Αντίστοιχα, το αρχείο σε αριθμητική μορφή μπορεί να είναι το εξής: 0 0 1 1 *. Το συνώνυμό του εξακολουθεί να γράφεται ως @ ετήσια.
  • @monthly. Όπως μπορείτε να μαντέψετε από το όνομα, αυτή η μεταβλητή εκτελεί την εντολή μία φορά το μήνα. Το αντίστοιχο αριθμητικό στοιχείο είναι 0 0 1 * *.
  • @ εβδομαδιαία. Αυτή η μεταβλητή θα ξεκινήσει κάθε εβδομάδα.
  • @ dayly. Μία φορά την ημέρα.
  • @midnight. Η εκτόξευση θα πραγματοποιηθεί τα μεσάνυχτα.
  • @ ώρες. Κάθε ώρα.

Ρύθμιση του Cron σε Centos 7

Η ίδια η διαδικασία εγκατάστασης και διαμόρφωσης είναι μικρήδιαφέρει από άλλες παρόμοιες κατανομές Linux. Πριν να διαμορφώσετε το Cron in Centos, πρέπει να εγκαταστήσετε το πακέτο cronie στο σύστημα. Μπορείτε να το κάνετε αυτό με την εντολή yum install cronie. Για να δημιουργήσετε το αρχείο οδηγιών, θα πρέπει να εκτελέσετε το crontab -e στο τερματικό. Όλες οι ρυθμίσεις του συστήματος Cron θα αποθηκευτούν στο / var / spool / cron / username.

centos 7 cron setup

Μερικά χρήσιμα παραδείγματα για τη δημιουργία επαναλαμβανόμενων εργασιών

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

  • 00 09-17 * * 1 - 5 / τρόπος / στην ομάδα / στέμμα. Αυτή η εντολή θα εκτελέσει αυτόματα την προγραμματισμένη ενέργεια κάθε εργάσιμη ημέρα από 9 έως 5 ώρες κάθε πρώτο λεπτό.
  • 00 9.17 * * * / διαδρομή / στην ομάδα / στέμμα. Σε αυτό το παράδειγμα, η εντολή εκτελείται δύο φορές την ημέρα. Το πρώτο στις 9, το δεύτερο στις 5 μ.μ. Το σύμβολο "*" δηλώνει ότι η εντολή θα εκτελείται κάθε μέρα, μήνα και έτος.
  • Επίσης, μην ξεχνάτε τις μεταβλητές συμβόλων. Για παράδειγμα, @ μήνα θα εκτελέσει την εργασία κάθε μήνα κατά το πρώτο λεπτό της πρώτης ώρας της πρώτης ημέρας. Και το @day θα ξεκινήσει καθημερινά.

Κριτικές χρηστών για το Cron Scheduler

Κατά κανόνα, για συνηθισμένο και απλόΟι χρήστες Cron είναι απλά ένα σύνολο χαρακτήρων. Αλλά για τους διαχειριστές συστημάτων και τους απρόσβλητους χρήστες του Linux, αυτό το βοηθητικό πρόγραμμα είναι ένας απαραίτητος βοηθός. Πολλοί σημειώνουν την ευελιξία και την απόδοση ενός καλά συντονισμένου συστήματος.

cron d setup

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

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

Οι αρχάριοι συνήθως χάνονται σε ένα μεγάλοτον αριθμό των ρυθμίσεων και τις δυσκολίες κατά την εκκίνηση του δαίμονα προγραμματιστή. Για αυτούς υπάρχουν πιο κατανοητά κοχύλια. Για παράδειγμα, για διανομές με βάση το Debian, μπορεί να γίνει ένα πρόγραμμα gnome. Η έκδοση KDE ονομάζεται kcron.

Συμπεράσματα

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

Άλλα λειτουργικά συστήματα έχουν επίσης τη δική τουςέκδοση των χρονοπρογραμματιστών, για παράδειγμα, σε περιβάλλον Windows αυτό είναι το NnCron. Ένα άλλο αναλογικό είναι το Task Scheduler. Διατίθεται επίσης στη σειρά συστημάτων από τη Microsoft. Και η έκδοση της κονσόλας είναι schtasks.exe.

</ p>