Επωφεληθείτε από την εντολή crontab Linux για να αυτοματοποιήσετε διάφορες καθημερινές και επαναλαμβανόμενες εργασίες, απλοποιώντας τη ζωή σας. Αυτό το εξαιρετικό και εύχρηστο εργαλείο, σε συνδυασμό με κάποια δέσμες ενεργειών, όχι μόνο μπορεί να αυτοματοποιήσει κάθε είδους εργασίες, αλλά και να αποφύγει απλά ανθρώπινα λάθη ή ξεχασμούς.
Εδώ θα μάθετε τι είναι το crontab, πώς να προσθέσετε αυτοματοποιημένες εργασίες και ορισμένα παραδείγματα πραγματικού κόσμου.
Τι είναι το Crontab;
Το Crontab είναι μια διαδικασία δαίμονα που εκτελείται στο παρασκήνιο σε σχεδόν όλους τους υπολογιστές Linux και χρησιμοποιείται για τον προγραμματισμό και την εκτέλεση αυτοματοποιημένων εργασιών σε καθορισμένα χρονικά διαστήματα. Χρησιμοποιείται επίσης συχνά από προγραμματιστές λογισμικού για την εκτέλεση χρονοβόρων εργασιών στο παρασκήνιο.
Αυτό μπορεί να είναι οτιδήποτε περιλαμβάνει, μεταξύ άλλων, την αποστολή μαζικών μηνυμάτων ηλεκτρονικού ταχυδρομείου, τον έλεγχο της ροής σας στο Twitter, την εκτέλεση αντιγράφων ασφαλείας ή την απλή εκτέλεση υπενθύμισης.
Βασικές εντολές Crontab
Κάθε χρήστης Linux στον υπολογιστή έχει το δικό του αρχείο crontab, το οποίο περιέχει τις ενεργές εργασίες crontab. Ακολουθούν ορισμένες βασικές εντολές τερματικού που θα χρησιμοποιήσετε για να προβάλετε και να τροποποιήσετε το αρχείο crontab:
- crontab-l Λίστα όλων των εργασιών crontab.
- crontab -e Επεξεργαστείτε το αρχείο crontab.
- crontab -r Καταργήστε όλες τις καταχωρήσεις από το αρχείο crontab.
Οι παραπάνω εντολές θα είναι για το του τρέχοντος χρήστη αρχείο crontab. Εάν πρέπει να τροποποιήσετε το αρχείο crontab διαφορετικού χρήστη, απλώς χρησιμοποιήστε το -ε επιλογή. Για παράδειγμα, μπορείτε να επεξεργαστείτε το jdoe αρχείο crontab χρήστη με την εντολή:
Θέλετε να διαχειριστείτε καλύτερα τους χρήστες στο Ubuntu Linux; Η απάντηση είναι να δημιουργήσετε ομάδες και, στη συνέχεια, να χρησιμοποιήσετε τη δυνατότητα προσθήκης χρήστη του Ubuntu.
sudo crontab -ujdoe -e
Μορφή εργασιών Crontab
Κάθε εργασία crontab αποτελείται από μία γραμμή και έχει τη μορφή παρακάτω:
ΔΙΑΔΙΚΑΣΙΑ ΛΕΠΤΟΜΕΡΕΙΑΣ ΜΗΝΑ ΜΗΝΑ
Ο παρακάτω πίνακας εξηγεί τα διάφορα στοιχεία της εργασίας crontab:
Στοιχείο | Οργή | Περιγραφή |
---|---|---|
Λεπτό | 0 - 59 | Το λεπτό για την εκτέλεση της εργασίας crontab στο. |
Ωρα | 0 - 23 | Η ώρα για την εκτέλεση της εργασίας crontab στις. |
Ημέρα | 1 - 31 | Η ημέρα του μήνα για την εκτέλεση της εργασίας crontab στις. |
Μήνας | 1 - 12 | Ο μήνας για την εκτέλεση της εργασίας crontab στο. |
Καθημερινή | 0 - 6 | Η ημέρα της εβδομάδας για την εκτέλεση της εργασίας crontab στις. |
Εντολή | Οποιαδήποτε εντολή Linux που μπορείτε να εκτελέσετε στο τερματικό. |
Μπορείτε να χρησιμοποιήσετε έναν αστερίσκο (*) σε οποιοδήποτε από τα πεδία για να δηλώσετε ένα μπαλαντέρ, που σημαίνει ότι η εργασία crontab θα εκτελεστεί ανεξάρτητα από τη συγκεκριμένη χρονική περίοδο. Για παράδειγμα, η παρακάτω εργασία crontab θα εκτελείται κάθε βράδυ στις 3:20 π.μ.
20 3 * * * /root/backup.sh
Πολλαπλές τιμές
Κάθε χρονική περίοδος μπορεί επίσης να περιλαμβάνει πολλά στοιχεία. Μπορείτε να καθορίσετε τις ακριβείς τιμές διαχωρίζοντάς τις με κόμμα και η παρακάτω εργασία crontab θα εκτελείται κάθε ώρα σε 20 και 50 λεπτά μετά την ώρα:
20,50 * * * * / path/to/command.sh
Ωστόσο, εάν θέλετε να εκτελέσετε την εργασία crontab σε συγκεκριμένα διαστήματα εντός μιας χρονικής περιόδου μπορείτε να χρησιμοποιήσετε */ΠΕΡΙΟΔΟΣκαι η παρακάτω εργασία crontab θα εκτελείται αυτόματα στα 15 λεπτά μετά την ώρα κάθε τρεις ώρες:
15 * / 3 * * * / path/to/command.sh
Διατηρώντας τις Εργασίες Crontab Αθόρυβες
Όλα ανάλογα, ίσως θέλετε να εξαλείψετε όλη την έξοδο από τις εργασίες crontab, ώστε να μην καταλήγουν στο φάκελο αλληλογραφίας του συστήματός σας. Μπορείτε να το κάνετε προσαρτώντας > / dev / null 2> & 1 σε οποιαδήποτε εργασία crontab. Για παράδειγμα:
0 6 15 * * /path/to/backup.sh> / dev / null 2> & 1
Προσθήκη εργασιών Crontab
Γενικά, η πιο χρησιμοποιούμενη μέθοδος για προσθήκη ή τροποποίηση εργασιών crontab είναι η crontab -e εντολή. Εκτελέστε αυτήν την εντολή στο τερματικό:
crontab -e
Αυτό θα ανοίξει ένα επεξεργαστής κειμένου όπως νανο με τα περιεχόμενα του αρχείου crontab. Κάθε εργασία crontab βρίσκεται σε μία γραμμή και μπορείτε να προσθέσετε, να τροποποιήσετε και να αφαιρέσετε γραμμές όπως θέλετε. Μόλις τελειώσετε, αποθηκεύστε και κλείστε το αρχείο πατώντας Ctrl + W, ακολουθούμενο από το Υ και Εισαγω πλήκτρα, τα οποία θα ενεργοποιήσουν αμέσως όλες τις εργασίες crontab μέσα στο αρχείο.
Συντόμευση για προσθήκη εργασιών
Αντί να τροποποιήσετε μη αυτόματα το αρχείο crontab, υπάρχει μια γρήγορη απλή εντολή που μπορείτε να εκτελέσετε για να προσθέσετε μια εργασία. Για παράδειγμα, εάν θέλετε να προσθέσετε αυτήν την εργασία crontab που εκτελείται κάθε Κυριακή στις 2:00 μ.μ.:
0 14 * * 0 / path/to/command.sh
Μπορείτε να προσθέσετε την εργασία στο αρχείο crontab με μία μόνο εντολή:
(crontab -l; echo "0 14 * * 0 /path/to/command.sh";) | crontab
Η παραπάνω εντολή απλώς απαριθμεί όλες τις εργασίες που υπάρχουν στο αρχείο crontab, εκτυπώνει τη νέα εργασία και διοχετεύει τα πάντα crontab αντικαθιστώντας τα περιεχόμενά του.
Καταχώριση / Κατάργηση αρχείου Crontab
Μπορείτε να αναφέρετε όλες τις εργασίες που είναι ενεργές στο αρχείο crontab με την εντολή:
crontab -l
Μπορείτε επίσης να καταργήσετε όλες τις εργασίες crontab και να αδειάσετε τα περιεχόμενα του αρχείου crontab με την εντολή:
crontab -r
Παράδειγμα: Παίξτε Ήχοι!
Χρειάζεστε μια γρήγορη υπενθύμιση κάθε δύο ώρες ενώ εργάζεστε για να σας ενημερώσουμε ότι έχει περάσει ο χρόνος; Πιάστε το αγαπημένο σας κλιπ ήχου σε σχεδόν οποιαδήποτε μορφή (.wav, .mp4, οτιδήποτε) και αν είναι αποθηκευμένο στο (για παράδειγμα) /home/myuser/myalert.wav το έχει παίξει αυτόματα με την εργασία crontab:
0 * / 2 * * * aplay /home/myuser/myalert.wav
Τι θα λέγατε ότι θα σας δώσει μια ωραία αποστολή από την εργασία της εβδομάδας με το αγαπημένο σας τραγούδι να αναπαράγεται αυτόματα στις 5:00 μ.μ. κάθε Παρασκευή απόγευμα; Πιάστε το αγαπημένο σας κλιπ τραγουδιού και, εάν το αποθηκεύσετε, πείτε /home/myuser/friday_song.mp4 θα προσθέσετε την εργασία crontab:
0 17 * * 5 aplay /home/myuser/friday_song.mp4
Παράδειγμα: Δημιουργία αντιγράφων ασφαλείας αρχείων με Rsync
Μία από τις πολλές εξαιρετικές χρήσεις του crontab είναι η δυνατότητα αυτόματης δημιουργίας αντιγράφων ασφαλείας των αρχείων σας σε έναν απομακρυσμένο διακομιστή. Μειώστε ουσιαστικά τον κίνδυνο να χάσετε ποτέ ξανά σημαντικά δεδομένα με αυτό εξαιρετικό σεμινάριο rsync.
Παράδειγμα: Ελέγξτε εάν οι ιστότοποι είναι συνδεδεμένοι
Ίσως θέλετε να ελέγχετε αυτόματα κάθε πέντε λεπτά εάν υπάρχουν διάφοροι ιστότοποι στο Διαδίκτυο ή όχι και να ειδοποιούνται μέσω email εάν υπάρχουν εκτός λειτουργίας. Εδώ είναι ένα καλό μικρό σενάριο PHP που θα κάνει ακριβώς αυτό.
php
// Διεύθυνση ηλεκτρονικού ταχυδρομείου για ειδοποίηση των ιστότοπων κάτω
$ email = '[email protected]';
// Ορισμός διευθύνσεων URL για έλεγχο
$ urls = [< br /> " https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// Μεταβείτε στις διευθύνσεις URL
$ down = [];
foreach ($ urls as $ url) {
// Έλεγχος URL
$ status = check_url ($ url);
if ($ status! = 200) {
$ down [] = $ url;
}
}
// Στείλτε e-mail αν έχουμε down sites
if (count ($ down)> 0) {
mail ($ email, "Επείγον - Κάτω ιστότοποι!", "Το bot σας εντόπισε τους ακόλουθους ιστότοπους προς το παρόν κάτω:
". implode ("
", $ down));
}
// Έξοδος
έξοδος (0);
/ **
* Έλεγχος διεύθυνσης URL < br /> * /
λειτουργία check_url (string $ url): int
{
// Αποστολή μέσω cURL
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, αληθές); < > curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, true);
$ response = curl_exec ($ ch);
// Λήψη κατάστασης και κλείσιμο σύνδεσης
$ status = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);
curl_close ($ ch);
// Επιστροφή
επιστροφή κατάστασης $;
}
Απλώς τροποποιήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου και τις επιθυμητές διευθύνσεις URL για έλεγχο στο πάνω μέρος του αρχείου και αποθήκευση κάπου όπως /home/myuser/check_sites.php . Για να εκτελείται αυτό το σενάριο κάθε πέντε λεπτά και να σας ειδοποιεί μέσω e-mail για τυχόν ιστότοπους που βρίσκονται εκτός λειτουργίας, προσθέστε την εργασία crontab:
* / 5 * * * * / usr / bin / php /home/myuser/check_sites.php> / dev / null 2> & 1
Αυτοματοποιήστε τη ζωή σας!
Με αυτό το άρθρο εσείς ελπίζω να έχει καταλάβει την αυτοματοποιημένη ισχύ του crontab και πώς μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση πολλών από τις καθημερινές και επαναλαμβανόμενες εργασίες στο δικό σας ΖΩΗ.
Έχετε μάθει τι είναι το crontab, σχετικά με το αρχείο crontab, πώς μορφοποιούνται οι εργασίες crontab και ορισμένα πραγματικά παραδείγματα για το πώς μπορεί να χρησιμοποιηθεί.
Θέλετε να εξοικονομήσετε χρόνο και να αποφύγετε επαναλαμβανόμενες εργασίες; Η απάντηση είναι αυτοματοποίηση! Ακολουθούν μερικές χρήσιμες εφαρμογές αυτοματισμού για επιτραπέζιους υπολογιστές Linux.
- Προγραμματισμός
- Linux
Εγγραφείτε στο Ενημερωτικό δελτίο
Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ηλεκτρονικά βιβλία και αποκλειστικές προσφορές!
Επιβεβαιώστε τη διεύθυνση email σας στο μόλις σας στείλαμε email.