Πώς να προγραμματίσετε το crontab για εκτέλεση κατά την εκκίνηση του συστήματος
Τα συστήματα Linux και Unix παρέχονται προεγκατεστημένα με το cron βοηθητικό πρόγραμμα, ένας προγραμματιστής εργασιών που διευκολύνει τον προγραμματισμό εργασιών στο αρχείο crontab. Το ίδιο βοηθητικό πρόγραμμα είναι διαθέσιμο για macOS. Η σύνταξη για τον προγραμματισμό εργασιών σε συγκεκριμένα χρονικά διαστήματα παρέχεται παρακάτω:
Ελάχιστη ώρα ημέρα του μήνα Μήνας ημέρα της εβδομάδας [ εντολή ]Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή εάν χρειάζεται να εκτελείτε ένα αντίγραφο ασφαλείας κάθε 20 λεπτά από τις 3:00 μ.μ. έως τις 4:00 μ.μ. καθημερινά.
*/ είκοσι δεκαπέντε - 16 * * * / μονοπάτι / προς την / backup.sh
Η προηγούμενη εντολή λειτουργεί όταν χρειάζεται να εκτελέσετε μια εργασία σε μια συγκεκριμένη χρονική στιγμή, αλλά τι γίνεται αν χρειάζεστε την ίδια εντολή να εκτελείται μετά από κάθε εκκίνηση;
Για να ορίσετε την ίδια εντολή να εκτελείται κατά την επανεκκίνηση του συστήματος, αντικαταστήστε τα πεδία ημερομηνίας και ώρας με @reboot. Η νέα εντολή θα είναι:
@ επανεκκίνηση / μονοπάτι / προς την / backup.shΣτην προηγούμενη εντολή, το @reboot καθορίζει ότι το cron θα πρέπει να εκτελεί την καθορισμένη εντολή μετά από κάθε εκκίνηση. Και πάλι, πρέπει να προσθέσουμε την εντολή στο αρχείο crontab.
Χρησιμοποιήστε την παρακάτω εντολή για να ανοίξετε το αρχείο crontab και να το επεξεργαστείτε για να προσθέσετε τη νέα μας εργασία.
crontab -καιΣημειώστε ότι δημιουργούμε την εργασία για τον τρέχοντα χρήστη. Εάν πρέπει να προγραμματίσετε την εργασία για διαφορετικό χρήστη, για παράδειγμα, έναν χρήστη με όνομα linuxhit1 , η ακόλουθη εντολή θα ήταν:
crontab -και -σε linuxhit1Μόλις ανοίξει το αρχείο crontab, προσθέστε την εντολή στην κάτω γραμμή. Αποθηκεύστε το αρχείο και βγείτε.
Επίσης, σημειώστε ότι χρησιμοποιούμε α νανο editor, ο επεξεργαστής σας μπορεί να είναι διαφορετικός, αλλά η εντολή είναι η ίδια.
Εάν η εργασία προγραμματιστεί επιτυχώς, θα πρέπει να λάβετε ένα μήνυμα όπως αυτό που εμφανίζεται στην παρακάτω εικόνα για να υποδείξετε την επιτυχή εγκατάσταση του νέου crontab:
Ωστόσο, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να παραθέσετε τις προγραμματισμένες εργασίες.
crontab -μεγάλοΕάν δεν επιθυμείτε πλέον να εκτελείτε την εντολή κατά την εκκίνηση, μπορείτε να την αφαιρέσετε επεξεργάζοντας το αρχείο crontab ή χρησιμοποιώντας την εντολή που παρέχεται παρακάτω. Σημειώστε ότι η ακόλουθη εντολή διαγράφει όλες τις προγραμματισμένες εργασίες. Εάν αυτό δεν είναι αυτό που θέλετε να επιτύχετε, κάντε κύλιση προς τα κάτω στο crontab και διαγράψτε με μη αυτόματο τρόπο την εργασία χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας.
crontab -r
Το @reboot εκτελεί μια εντολή αμέσως μετά την εκκίνηση. Ωστόσο, μπορείτε να καθορίσετε μια περίοδο ύπνου πριν από την εκτέλεση της εντολής. Για παράδειγμα, εάν χρειάζεστε την εντολή να εκτελεστεί 10 λεπτά μετά την εκκίνηση, πρέπει να ορίσετε την ώρα σε δευτερόλεπτα.
Η εντολή θα ήταν.
@ επανεκκίνηση ύπνος 600 / μονοπάτι / προς την / backup.shΤο 600 αντιπροσωπεύει τα 10 λεπτά που εκφράζονται σε δευτερόλεπτα και ύπνος είναι η επιλογή που χρησιμοποιείται κατά τον καθορισμό του χρόνου πριν από την εκτέλεση.
Το νέο μας αρχείο crontab θα οριστεί, όπως φαίνεται παρακάτω:
Την επόμενη φορά που θα επανεκκινήσετε τον διακομιστή σας, το σενάριο δημιουργίας αντιγράφων ασφαλείας ή η εντολή set θα εκτελεστεί μετά από 10 λεπτά.
Τέλος, μπορούμε να επαληθεύσουμε ότι η προγραμματισμένη εργασία θα εκτελεστεί ελέγχοντας την κατάσταση για crond service . Θα έπρεπε να είναι ενεργός . Χρησιμοποιήστε την ακόλουθη εντολή για να ελέγξετε την κατάστασή του:
sudo systemctl κατάσταση cron.serviceΜπορείτε να πάτε εάν λάβετε μια έξοδο όπως η ακόλουθη έξοδος:
Εάν η κατάσταση του crond δεν είναι ενεργή, μπορείτε να την ενεργοποιήσετε χρησιμοποιώντας την ακόλουθη εντολή και, στη συνέχεια, ελέγξτε την κατάσταση:
sudo systemctl επιτρέπω cron.υπηρεσία
Αυτό είναι. Η εντολή σας θα εκτελεστεί κατά την εκκίνηση.
συμπέρασμα
Η γνώση του τρόπου προγραμματισμού εργασιών κατά την εκκίνηση είναι απαραίτητη για τους διαχειριστές Linux. Ευτυχώς, αυτός ο οδηγός κάλυψε έναν περιεκτικό πρακτικό οδηγό για το πώς να το πετύχετε χρησιμοποιώντας το βοηθητικό πρόγραμμα Linux cron. Επιπλέον, συζητήσαμε πώς μπορείτε να ορίσετε έναν χρόνο ύπνου πριν από την εκτέλεση της εντολής.