Το cron είναι ένας προγραμματιστής εργασιών για λειτουργικά συστήματα Linux και Unix. Έρχεται προεγκατεστημένο σε όλες τις διανομές Linux και είναι πιο κατάλληλο για την αυτοματοποίηση επαναλαμβανόμενων εργασιών.
Για να λειτουργεί σωστά το cron, πρέπει να ελέγχετε περιοδικά ότι το βοηθητικό πρόγραμμα λειτουργεί σωστά στο σύστημά σας. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας τέσσερις διαφορετικούς τρόπους, συμπεριλαμβανομένου του ελέγχου της κατάστασης της υπηρεσίας cron, της εξέτασης αρχείων καταγραφής cron, της εκτέλεσης μιας δοκιμαστικής εργασίας cron και της λίστας των διεργασιών που εκτελούνται στο σύστημά σας.
Τι είναι το cron;
Ο αθόρυβος χειριστής εργασιών, cron, αυτοματοποιεί και προγραμματίζει εργασίες συστήματος. Οι χρήστες που διαμορφώνουν και διατηρούν περιβάλλοντα λογισμικού χρησιμοποιούν το cron για να προγραμματίζουν εργασίες όπως εντολές ή σενάρια φλοιού —που ονομάζονται επίσης εργασίες cron— για να εκτελούνται περιοδικά σε καθορισμένους χρόνους ή διαστήματα.
Το cron αυτοματοποιεί εργασίες συντήρησης ή διαχείρισης συστήματος που μπορεί να χρειαστεί να εκτελείτε συχνά.
Πώς να ελέγξετε εάν το cron λειτουργεί σε Linux
Ακολουθούν μερικοί από τους τρόπους με τους οποίους μπορείτε να ελέγξετε εάν το cron λειτουργεί σωστά:
Μέθοδος 1: Ελέγξτε την κατάσταση υπηρεσίας cron στο Linux
Ένας τρόπος για να ελέγξετε εάν το cron λειτουργεί είναι ελέγχοντας την κατάσταση της υπηρεσίας cron εκτελώντας μια βασική εντολή Linux. Ανοίξτε το τερματικό Linux πατώντας Ctrl + Alt + T και χρήση την εντολή systemctl για να ελέγξετε την κατάσταση του cron:
sudo systemctl status cron
Εάν δείτε την ακόλουθη έξοδο, αυτό σημαίνει ότι το cron είναι ενεργό και λειτουργεί κανονικά στο σύστημά σας.
Τι γίνεται όμως αν το cron βρίσκεται σε ανενεργή κατάσταση όπως φαίνεται παρακάτω;
Μπορείτε να ξεκινήσετε την υπηρεσία ως εξής:
sudo service cron αρχή
Μετά την εκκίνηση της υπηρεσίας cron, ενεργοποιήστε την έτσι ώστε να ξεκινά κάθε φορά που το σύστημα επανεκκινείται:
sudo service cron επιτρέπω
Μέθοδος 2: Ελέγξτε τα αρχεία καταγραφής cron στο Linux
Ένας άλλος τρόπος για να ελέγξετε εάν το cron λειτουργεί σωστά είναι να εξετάσετε τα αρχεία καταγραφής. Τα αρχεία καταγραφής cron αποθηκεύονται στο /var/log/syslog κατάλογο στο Linux.
Το syslog είναι ένα πρωτόκολλο που χρησιμοποιούν τα συστήματα Linux για να συγκεντρώνουν αρχεία καταγραφής δεδομένων συμβάντων. Στη συνέχεια γίνεται πρόσβαση στα αρχεία καταγραφής για την εκτέλεση ελέγχων, παρακολούθησης, αντιμετώπισης προβλημάτων, αναφοράς και άλλων απαραίτητων λειτουργικών εργασιών πληροφορικής.
Μπορείτε να δείτε τα αρχεία καταγραφής εργασιών cron στο αρχείο syslog εκτελώντας την ακόλουθη εντολή:
grep CRON /var/log/syslog
Θα δείτε μια παρόμοια έξοδο που δείχνει ότι το cron λειτουργεί καλά και τα αρχεία καταγραφής του αποθηκεύονται στο αρχείο καταγραφής:
Καθώς ο φάκελος syslog περιέχει άλλα αρχεία καταγραφής συστήματος μαζί με τα αρχεία καταγραφής cron, μπορεί να είναι λίγο δύσκολο να εξετάσετε μόνο τα αρχεία καταγραφής που σχετίζονται με το cron στο αρχείο. Μπορείτε να το επιλύσετε δημιουργώντας ένα ξεχωριστό αρχείο καταγραφής που αποθηκεύει μόνο τις εγγραφές cron που εμφανίζονται στο αρχείο syslog.
Για να το κάνετε αυτό, ανοίξτε το ακόλουθο αρχείο χρησιμοποιώντας τον επεξεργαστή nano:
nano /etc/rsyslog.d/50-Προκαθορισμένο.conf
Εντοπίστε τη γραμμή που ξεκινά με:
#cron.*
Καταργήστε το σχόλιο αυτής της γραμμής αφαιρώντας τον κατακερματισμό (#) σημάδι. Στη συνέχεια, αποθηκεύστε και βγείτε από το αρχείο πατώντας Ctrl + X, μετά πατήστε Υ και χτυπήστε Εισαγω.
Επανεκκινήστε την υπηρεσία rsyslog εκδίδοντας αυτήν την εντολή:
επανεκκίνηση της υπηρεσίας sudo rsyslog
Τώρα θα λαμβάνετε αρχεία καταγραφής στο cron.log αρχείο που βρίσκεται στο /var/log Ευρετήριο.
Εάν το τερματικό σας δεν καταφέρει να ανακτήσει τυχόν αρχεία καταγραφής, αυτό μπορεί να σημαίνει ότι το cron δεν εκτελείται. Σε αυτήν την περίπτωση, επιβεβαιώστε εάν το cron λειτουργεί ή δεν χρησιμοποιεί άλλες μεθόδους.
Μέθοδος 3: Εκτέλεση εργασίας cron σε Linux
Μπορείτε επίσης να ελέγξετε εάν το cron λειτουργεί δημιουργώντας απλώς μια δοκιμαστική εργασία cron και εκτελώντας την. Εάν η εργασία επιτύχει στην εκτέλεση της εργασίας, αυτό σημαίνει ότι λειτουργεί καλά.
Πρώτα πρέπει δημιουργήστε ένα σενάριο Bash. Η δέσμη ενεργειών Bash σάς επιτρέπει να αυτοματοποιείτε καθημερινές εργασίες στο Linux.
Ας δημιουργήσουμε ένα σενάριο Bash που θα εκτυπώνει "το cronjob μου λειτουργεί!" σε ένα αρχείο TXT. Για να δημιουργήσετε το αρχείο, πρώτα, ανακαλύψτε τον τρέχοντα κατάλογο εργασίας σας χρησιμοποιώντας αυτήν την εντολή:
pwd
Δημιουργήστε ένα αρχείο στον τρέχοντα κατάλογο χρησιμοποιώντας την εντολή αφής:
αφήαρχείο.κείμενο
Μετά από αυτό, δημιουργήστε ένα αρχείο Bash χρησιμοποιώντας το nano:
νανογραφή.SH
Προσθέστε τα ακόλουθα περιεχόμενα στο αρχείο:
#! /usr/bin/bash
ηχώ "Το cronjob μου δουλεύει!" >> /home/username/file.txt
Βεβαιωθείτε ότι παρέχετε τη σωστή θέση του αρχείου κειμένου που δημιουργήσατε. Αποθηκεύστε και βγείτε από το αρχείο πατώντας Ctrl + X, έπειτα Υ, και χτυπήστε Εισαγω.
Δώστε δικαιώματα εκτέλεσης στο σενάριο Bash:
chmod +Χγραφή.SH
Τώρα δημιουργήστε μια εργασία cron για να εκτελέσετε το σενάριο. Για να το κάνετε αυτό, ανοίξτε το αρχείο crontab με:
crontab -ε
Εισαγάγετε την ακόλουθη γραμμή στο τέλος του αρχείου.
* * * * * /path/to/script.sh
Οι πέντε αστερίσκοι ταιριάζουν με τον χρόνο εκτέλεσης, στον οποίο ο πρώτος αστερίσκος αντιπροσωπεύει τα λεπτά, ο δεύτερος αντιπροσωπεύει ώρες, ο τρίτος αστερίσκος σημαίνει την ημέρα, ο τέταρτος δείχνει τον μήνα και ο τελευταίος αστερίσκος δείχνει το έτος.
Το όνομα του εκτελέσιμου αρχείου και η διαδρομή του αναφέρονται επίσης στο αρχείο.
Μετά την αποθήκευση και το κλείσιμο του αρχείου, θα δείτε ένα "crontab: εγκατάσταση νέου crontabμήνυμα στο τερματικό.
Για να ελέγξετε αν η εργασία cron λειτούργησε ή όχι, μεταβείτε στον κατάλογο του file.txt και εκτυπώστε το περιεχόμενό του στο τερματικό χρησιμοποιώντας το cat:
Γάτααρχείο.κείμενο
Αυτό δείχνει ότι το cron λειτουργεί καλά.
Μέθοδος 4: Ελέγξτε τις διεργασίες που εκτελούνται σε Linux
Ένας άλλος τρόπος με τον οποίο μπορείτε να ελέγξετε εάν ο δαίμονας cron λειτουργεί είναι να αναφέρετε τις διεργασίες που εκτελούνται στο σύστημά σας. Μπορείτε να το πετύχετε αυτό χρησιμοποιώντας την εντολή ps. Ο δαίμονας cron θα εμφανιστεί στην έξοδο ως crond.
ps -ef | grep crond
Αυτό επιβεβαιώνει ότι η διαδικασία cron εκτελείται στο σύστημά σας Linux.
Αυτοματοποίηση και προγραμματισμός εργασιών συστήματος με cron
Το cron είναι ένα από τα πιο ζωτικά βοηθητικά προγράμματα στο Linux που επιτρέπει στο σύστημα να λειτουργεί αποτελεσματικά. Μερικές φορές πρέπει να ελέγξετε εάν το cron λειτουργεί κατά την αντιμετώπιση προβλημάτων συστήματος.
Μπορείτε να το πετύχετε είτε ελέγχοντας τα αρχεία καταγραφής cron είτε βλέποντας τις διεργασίες που εκτελούνται στο σύστημά σας. Μπορείτε επίσης να ελέγξετε την κατάσταση cron χρησιμοποιώντας το βοηθητικό πρόγραμμα systemctl. Εκτός αυτού, η εκτέλεση μιας δοκιμαστικής εργασίας cron μπορεί επίσης να σας πει εάν η υπηρεσία εκτελείται ή όχι.
Η ομαλή λειτουργία του cron σάς επιτρέπει να αυτοματοποιείτε και να προγραμματίζετε καθημερινές εργασίες συστήματος. Οι περισσότερες από τις εργασίες cron δημιουργούνται αυτόματα από εγκατεστημένες εφαρμογές. Η αυτοματοποίηση και ο προγραμματισμός εργασιών βελτιώνει τη συνολική απόδοση του συστήματος και το διατηρεί υγιές.