Τι είναι το crontab;
Το Cron πήρε το όνομά του από την ελληνική λέξη "Chronos" που χρησιμοποιείται για το χρόνο. Είναι μια διαδικασία συστήματος που εκτελεί αυτόματα εργασίες σύμφωνα με το συγκεκριμένο πρόγραμμα. Είναι ένα σύνολο εντολών που χρησιμοποιούνται για την εκτέλεση τακτικών εργασιών προγραμματισμού. Το Crontab σημαίνει "cron table". Επιτρέπει τη χρήση του χρονοδιαγράμματος εργασίας, ο οποίος είναι γνωστός ως cron για την εκτέλεση εργασιών.
Το Crontab είναι επίσης το όνομα του προγράμματος, το οποίο χρησιμοποιείται για την επεξεργασία αυτού του προγράμματος. Οδηγείται από ένα αρχείο crontab, ένα αρχείο διαμόρφωσης που υποδεικνύει ότι οι εντολές κελύφους εκτελούνται περιοδικά για το συγκεκριμένο πρόγραμμα.
Σε αυτό το σεμινάριο λειτουργικού συστήματος, θα μάθετε:
- Τι είναι το crontab;
- Γιατί να χρησιμοποιήσετε το CRONJOB;
- Πώς να χρησιμοποιήσετε το cron στο Linux;
- Μορφή Linux Crontab
- Πώς να προσθέσετε / τροποποιήσετε το Crontab
- Πώς να απαριθμήσετε το Crontab
- Σημαντικά παραδείγματα Crontab
Γιατί να χρησιμοποιήσετε το Cronjobs;
Ακολουθούν οι λόγοι για τη χρήση του Cronjobs στο Linux:
- Βοηθά το λειτουργικό σύστημα να λάβει ένα προγραμματισμένο αντίγραφο ασφαλείας αρχείων καταγραφής ή βάσης δεδομένων.
- Διαγραφή παλαιών αρχείων καταγραφής
- Αρχειοθέτηση και εκκαθάριση πινάκων βάσης δεδομένων
- Στείλτε οποιοδήποτε email ειδοποίησης όπως ενημερωτικά δελτία, email λήξης κωδικού πρόσβασης
- Τακτική εκκαθάριση των προσωρινά αποθηκευμένων δεδομένων
- Το Crontab είναι μια ιδανική επιλογή για αυτοματοποίηση εργασιών Unix.
- Χρησιμοποιείται για την αυτοματοποίηση της συντήρησης του συστήματος
Πώς να χρησιμοποιήσετε το cron στο Linux;
Το πακέτο συστήματος Linux έχει έναν χρήσιμο προγραμματιστή εργασιών που ονομάζεται crontab. Το Crontab είναι δημοφιλές επειδή μπορεί να προγραμματιστεί να εκτελεί μια αυτοματοποιημένη διαδικασία ως root. Επομένως, η εκτέλεση μιας αυτοματοποιημένης διαδικασίας ως root κάνει τις αλλαγές του συστήματος ευκολότερες. Απλά πρέπει να αλλάξετε την εργασία και στη συνέχεια να περιμένετε μέχρι να ξεκινήσει εκ νέου η εργασία.
Μορφή Linux Crontab
Το Crontab του Linux έχει έξι πεδία. Τα πρώτα πέντε πεδία καθορίζουν την ώρα και την ημερομηνία εκτέλεσης και το 6ο πεδίο χρησιμοποιείται για εκτέλεση εντολών.
Σύνταξη Crontab:
[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]
- Astrics (*): Χρήση για αντιστοίχιση
- Ορισμός εύρους: Σας επιτρέπει να ορίσετε ένα εύρος με τη βοήθεια παύλας όπως 1-10 ή 30-40 ή jan-mar, mon-wed.
- Καθορισμός πολλαπλών περιοχών: Σας επιτρέπει να ορίσετε διάφορες περιοχές με εντολή διαχωρισμένη όπως apr-jun, oct-dec.
Πώς να προσθέσετε / τροποποιήσετε το Crontab
Ο χρήστης μπορεί να επεξεργαστεί τις εργασίες crontab με τη βοήθεια της ακόλουθης εντολής crontab:
$ crontab -u -e
Η παραπάνω εντολή θα ανοίξει την προσωπική διαμόρφωση crontab του συστήματος του υπολογιστή σας, την οποία μπορείτε να επεξεργαστείτε χρησιμοποιώντας τον προεπιλεγμένο επεξεργαστή κειμένου.
Δεν χρειάζεται να κάνετε επανεκκίνηση του crontab, καθώς θα πάρει αυτόματα τις αλλαγές σας όταν χρησιμοποιείτε την ακόλουθη εντολή.
$ crontab -l
Για να καταργήσετε τις εργασίες crontab, χρησιμοποιήστε την ακόλουθη εντολή.
$ crontab -r
Για να προσθέσετε ή να ενημερώσετε εργασία στο crontab, χρησιμοποιήστε την παρακάτω εντολή.
crontab -e
Εντολή για επεξεργασία του crontab άλλων χρηστών
crontab -u username -e
Πώς να απαριθμήσετε το Crontab
Εντολή για προβολή καταχωρήσεων crontab του τρέχοντος χρήστη
crontab -l
Εντολή για την προβολή καταχωρίσεων crontab ενός συγκεκριμένου χρήστη:
crontab -u username -l
Σημαντικά παραδείγματα Crontab
Εδώ είναι μερικά σημαντικά παραδείγματα του Crontab
Περιγραφή | Εντολή |
Cron εντολή για να κάνετε τις διάφορες εργασίες προγραμματισμού. Παρακάτω δίνεται εντολή εκτελείται καθημερινά στις 7 π.μ. και 5 μ.μ. |
0 7,17 * * * /scripts/script.sh |
Εντολή για εκτέλεση ενός cron μετά από κάθε 5 λεπτά. |
*/5* * * * * /scripts/script.sh |
Η εντολή προγραμματιστή Cron σάς βοηθά να εκτελείτε την εργασία κάθε Δευτέρα στις 5 π.μ. Αυτή η εντολή είναι χρήσιμη για την εκτέλεση εβδομαδιαίων εργασιών, όπως εκκαθάριση συστήματος. |
0 5 * * mon /scripts/script.sh |
Εντολή εκτελέστε το σενάριό σας σε διάστημα 3 λεπτών. |
*/3 * * * * /scripts/monitor.sh |
Εντολή για να προγραμματίσετε ένα cron στο οποίο εκτελείται για έναν συγκεκριμένο μήνα. Αυτή η εντολή για εκτέλεση εργασιών εκτελείται σε μήνες Φεβρουάριο, Ιούνιο και Σεπτέμβριο. Μερικές φορές πρέπει να προγραμματίσουμε μια εργασία για την εκτέλεση μιας επιλεγμένης μηνιαίας εργασίας. |
* * * feb,jun,sep * /script/script.sh |
Εντολή για εκτέλεση σε επιλεγμένες ημέρες. Αυτό το παράδειγμα θα εκτελείται κάθε Δευτέρα και Τετάρτη στις 5 μ.μ. |
0 17 * * mon,wed /script/script.sh |
Αυτή η εντολή επιτρέπει στο cron να εκτελεί το πρώτο Σάββατο κάθε μήνα. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Εντολή για να εκτελέσετε ένα σενάριο για διάστημα 6 ωρών, ώστε να μπορεί να διαμορφωθεί όπως παρακάτω. |
0 */6 * * * /scripts/script.sh |
Αυτή η εντολή προγραμματίζει μια εργασία που θα εκτελεστεί δύο φορές τη Δευτέρα και την Τρίτη. Χρησιμοποιήστε τις ακόλουθες ρυθμίσεις για να το κάνετε. |
0 4,17 * * mon,tue /scripts/script.sh |
Η εντολή προγραμματίζει ένα cron για εκτέλεση μετά από κάθε 15 δευτερόλεπτα |
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh |
Εντολή για προγραμματισμό εργασιών σε ετήσια βάση. Η χρονική σήμανση @yearly είναι = έως "0 0 5 1 *". Αυτό εκτελεί το έργο στο πέμπτο λεπτό κάθε έτους. Μπορείτε να το χρησιμοποιήσετε για να στείλετε χαιρετισμούς για το νέο έτος. |
@yearly /scripts/script.sh |
Εντολές εργασιών για εκτέλεση σε μηνιαία βάση. Η χρονική σήμανση @monthly είναι παρόμοια με το "0 0 1 * *". Αυτή η έκφραση εντολών επιτρέπει την εκτέλεση μιας εργασίας στο πρώτο λεπτό του μήνα. |
@monthly /scripts/script.sh |
Εντολή για την εκτέλεση πολλαπλών εργασιών χρησιμοποιώντας ένα μόνο cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Εντολή για προγραμματισμό εργασιών για εκτέλεση σε εβδομαδιαία βάση. Η χρονική σήμανση @weekly είναι παρόμοια με το "0 0 4 * sun". Αυτό χρησιμοποιείται για την εκτέλεση των εβδομαδιαίων εργασιών, όπως η εκκαθάριση του συστήματος κ.λπ. |
@weekly /bin/script.sh |
Η εργασία θα προγραμματιστεί να εκτελείται σε καθημερινή βάση. Η καθημερινή χρονική σήμανση είναι παρόμοια με το "0 2 * * *". Εκτελεί την εργασία στο δεύτερο λεπτό κάθε μέρα. |
@daily /scripts/script.sh |
Επιτρέπει την εκτέλεση εργασιών κάθε ώρα. Η χρονική σήμανση @hourly είναι παρόμοια με το "0 * * * *". Αυτή η εντολή εκτελεί μια εργασία στο πρώτο λεπτό κάθε ώρας. |
@hourly /scripts/script.sh |
Επιτρέπει την εκτέλεση εργασιών κατά την επανεκκίνηση του συστήματος. Η έκφραση @reboot είναι χρήσιμη για εκείνες τις εργασίες που το σύστημα θέλει να εκτελέσει κατά την εκκίνηση του συστήματός σας. Αυτό είναι χρήσιμο να ξεκινήσετε αυτόματα το φόντο των εργασιών. |
@reboot /scripts/script.sh |
Περίληψη:
- Το Cron πήρε το όνομά του από την ελληνική λέξη "Chronos" που χρησιμοποιείται για το χρόνο.
- Το Cronjobs βοηθά το λειτουργικό σύστημα να λάβει ένα προγραμματισμένο αντίγραφο ασφαλείας αρχείων καταγραφής ή βάσης δεδομένων.
- Το πακέτο συστήματος Linux έχει έναν χρήσιμο προγραμματιστή εργασιών που ονομάζεται crontab, ο οποίος μπορεί να προγραμματιστεί να εκτελεί μια αυτοματοποιημένη διαδικασία ως root.
- Το Crontab του Linux έχει έξι πεδία. Τα πρώτα πέντε πεδία καθορίζουν την ώρα και την ημερομηνία εκτέλεσης και το 6ο πεδίο χρησιμοποιείται για εκτέλεση εντολών.