Αυτή είναι η δεύτερο άρθρο από μια σειρά στην οποία χρησιμοποιούμε τη λίστα με αυτά που η Καθολική Εκκλησία αποκαλεί «θανάσιμα αμαρτήματα» ως δικαιολογία για να γΜάθετε περισσότερα για τις εντολές και τα προγράμματα του κόσμου του Linux. Σε αυτή την περίπτωση συνεχίζουμε να μιλάμε για τη χρήση του cron που θα είναι πολύ χρήσιμη για όσους καλλιεργούν την τεμπελιά.
Δεδομένου ότι ζούμε σε μια εποχή ανθρώπων που είναι εύκολο να προσβληθούν, επιτρέψτε μου να διευκρινίσω, πριν μπω στο θέμα, ότι δεν έχω σκοπό να κοροϊδεύω τις θρησκευτικές πεποιθήσεις κανενός. Σε κάθε περίπτωση, είναι αυτοσαρκασμός. Πέρασα ένα μεγάλο μέρος της δεκαετίας του XNUMX μελετώντας την κατήχηση, έτσι ώστε μετά την Πρώτη Κοινωνία μου, δεν ξαναπάτησα το πόδι μου σε εκκλησία εκτός και αν το απαιτούσε κάποια οικογενειακή εκδήλωση. Πρέπει κάπως να επιστρέψω αυτόν τον χρόνο.
Σε τι χρησιμεύουν το cron και το crontab;
Είχαμε πει ότι το cron είναι δαίμονας, δηλαδή ένα πρόγραμμα που εκτελείται στο παρασκήνιο χωρίς παρέμβαση του χρήστη. Αναζητώντας πρόσθετες πληροφορίες για αυτό το άρθρο, ανακάλυψα ότι η μετάφραση του daemon (Ο τρόπος που τα συστήματα και τα παράγωγα Unix αποκαλούν αυτόν τον τύπο προγράμματος) ως δαίμονας είναι ένα ευρέως διαδεδομένο λάθοςαλλά δεν πρόκειται να το διορθώσω. Μιλάμε για αμαρτίες, πρέπει να υπάρχει τουλάχιστον ένας δαίμονας.
Η λειτουργία του cron είναι να εκτελέσει, σε προκαθορισμένο χρόνο, μια συγκεκριμένη εργασία. Τις περισσότερες φορές οφείλεται σε ανάγκες του συστήματος, αν και οι χρήστες μπορούν να υποδείξουν άλλους με την επεξεργασία ενός αρχείου κειμένου γνωστό ως crontab.
Στην προηγούμενη ανάρτηση είχαμε πει ότι οι εντολές για τη δημιουργία crontab είναι:
crontab –e
για τον προεπιλεγμένο χρήστη
O
crontab –u nombre_de_usuario
για οποιονδήποτε από τους άλλους.
Το Crontab είναι ένα αρχείο κειμένου που δίνει στο Cron οδηγίες για το τι πρέπει να κάνει και πότε να το κάνει.
Σχετικά με τη χρήση του cron μέσω του crontab
Για να δημιουργήσουμε το crontab μας πρέπει να λάβουμε υπόψη τα εξής:
- Για κάθε εργασία χρησιμοποιείται μία γραμμή.
- Πρέπει να αναφέρεται η ημερομηνία και η ώρα εκτέλεσης της εργασίας. Σε περίπτωση που πρόκειται για εργασία που απαιτεί περιοδικότητα. Για παράδειγμα, κάθε Τετάρτη στις 5 π.μ., οι υπόλοιπες παράμετροι αντικαθίστανται από αστερίσκους (*).
- Εάν θέλετε να εκχωρήσετε περισσότερες από μία τιμές για μια δεδομένη παράμετρο, κάθε τιμή πρέπει να διαχωρίζεται με κόμμα.
- Οι παράμετροι διαχωρίζονται με ένα κενό.
- Ο κατάλογος όπου βρίσκεται ο εκκινητής εντολών πρέπει να είναι γνωστός
Για παράδειγμα, αν θέλουμε ο υπολογιστής των παιδιών μας να σβήνει κάθε μέρα στις 20:XNUMX μ.μ., η οδηγία θα είναι
0 20 * * * /sbin/shutdown
Σε περίπτωση που θέλουμε η διακοπή λειτουργίας να είναι μόνο τις Κυριακές, αλλάζουμε την οδηγία σε
0 20 * * 0 /sbin/shutdown
Υπάρχουν κάποιες συντομεύσεις που μας γλιτώνουν από το να χρειάζεται να πληκτρολογήσουμε όλες τις παραμέτρους. Αυτοί είναι:
- @ωριαίος: Εκτελέστε μια εντολή την ώρα.
- @καθημερινά: Εκτελέστε την εντολή στην αρχή κάθε μέρας.
- @εβδομαδιαίος: Εκτελέστε την εντολή στην αρχή της πρώτης ημέρας της εβδομάδας.
- @Μηνιαίο: Εκτελέστε την εντολή στην αρχή της πρώτης ημέρας κάθε μήνα.
- @ετήσια: Εκτελέστε την εντολή το πρώτο λεπτό του έτους.
Μερικά παραδείγματα χρήσης αυτής της εντολής είναι:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
εκτελέστε ένα σενάριο Bash.
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
τρέχει ένα σενάριο python κάθε ώρα.
Σε κάθε περίπτωση Τα σενάρια πρέπει να έχουν δικαιώματα εκτέλεσης.
Στα παραδείγματα που είδαμε, δεν υποδεικνύεται μόνο η εντολή, αλλά και η διαδρομή όπου βρίσκεται το εκτελέσιμο. Θα εργαστούμε με αυτούς τους καταλόγους:
- /αποθήκη: Περιέχει όλες τις απαραίτητες εφαρμογές για τη λειτουργία του συστήματος.
- /sbin: Εδώ είναι οι εφαρμογές που χρειάζεται ο χρήστης root για τη διαχείριση του συστήματος.
- / Αρχική σελίδα: Πού αποθηκεύονται οι εφαρμογές κάθε χρήστη.
- /usr: Οι εφαρμογές και τα αρχεία που έχουν εγκατασταθεί από τους χρήστες αποθηκεύονται εδώ. Περιλαμβάνουν αρχεία με τα ονόματα και τις λειτουργίες που αναφέρονται σε αυτήν τη λίστα.
Στο επόμενο άρθρο θα δούμε πώς να βελτιώσουμε τη γραφή crontab και κάποια άλλα εργαλεία αυτοματισμού που είναι διαθέσιμα για Linux.