Μάθε παιδί μου Linux (μέρος 5) | Τρέχουμε αυτόματα εντολές με τη βοήθεια του Cron
Στο τελευταίο άρθρο μάθαμε πώς να γράφουμε script εντολών για να αυτοματοποιήσουμε τις καθημερινές μας εργασίες και είπαμε ότι "ο καλός ο Λινουξάς από τα script του φαίνεται". Όταν όμως φτάσουμε στο σημείο να έχουμε καμιά δεκαριά από αυτά, πρέπει πλέον να θυμόμαστε να τα τρέχουμε σε τακτά χρονικά διαστήματα. Εδώ λοιπόν έρχεται το Cron να μας λύσει τα χέρια, η δουλειά του οποίου είναι να προγραμματίζει αυτόματα την εκτέλεσή τους.
Με το Cron μπορούμε να τρέξουμε από μία εντολή έως ένα ολόκληρο script και να κάνουμε από μία επανεκκίνηση, έως ένα πλήρες backup των αρχείων μας σε εξωτερικό σκληρό δίσκο. Το μόνο λοιπόν που χρειάζεται να κάνουμε είναι να δηλώσουμε την εντολή που θέλουμε να τρέξει και να του δώσουμε τις χρονικές παραμέτρους που θέλουμε.
Η λογική του Cron
Τα Cronjob μοιάζουν κάπως έτσι:
* * * * * εντολή
Στους πέντε αστερίσκους βάζουμε τις χρονικές προδιαγραφές και στη συνέχεια την εντολή ή το script που θέλουμε να τρέξουμε. Ένα παράδειγμα είναι αυτό:
58 16 15 8 * /home/pi/backup.sh
Εδώ το script "backup.sh" που βρίσκεται στο φάκελο "home" του χρήστη "pi", θα τρέξει στις 15 Αυγούστου στις 16:58 η ώρα.
- Το πρώτο νούμερο (58) λοιπόν είναι το λεπτό στο οποίο θα τρέξει η εντολή και δέχεται αριθμούς από το 0 έως το 59.
- To δεύτερο (16) είναι η ώρα και δέχεται αριθμούς από το 0 έως το 23.
- Το τρίτο (15) είναι η μέρα του μήνα και δέχεται αριθμούς από το 1 έως το 31.
- Το τέταρτο (8) είναι ο μήνας και δέχεται αριθμούς από το 1 έως το 12.
- Το πέμπτο το οποίο δεν το έχουμε ορίσει (*) είναι η μέρα της εβδομάδας και δέχεται αριθμούς από το 0 έως το 7 (το 1 και το 7 είναι η Κυριακή).
Διαφήμιση
Γνωρίζοντας λοιπόν όλα τα παραπάνω, αν θέλουμε να τρέχει το script μας κάθε μέρα στις δύο η ώρα το πρωί, θα δώσουμε το εξής:
0 2 * * * /home/pi/backup.sh
Αν θέλουμε να τρέχει μία φορά την εβδομάδα και συγκεκριμένα κάθε Κυριακή στις έξι το απόγευμα, δίνουμε το εξής:
0 18 * * 7 /home/pi/backup.sh
Τέλος αν θέλουμε να τρέχει μία φορά το μήνα και συγκεκριμένα την πρώτη του μηνός και στις τρεις το πρωί, δίνουμε το εξής:
0 3 1 * * /home/pi/backup.sh
Πώς χρησιμοποιούμε το Cron στον υπολογιστή μας;
Αφού μάθαμε τι είναι το Cron πρέπει τώρα να δούμε πώς θα το ρυθμίσουμε στο σύστημά μας. Ο εύκολος τρόπος είναι να εγκαταστήσουμε το "Gnome Schedule" με την εντολή:
sudo apt install gnome-schedule
Θα το βρούμε στη λίστα των εφαρμογών μας ως "Scheduled Tasks" και πραγματικά είναι πολύ απλό στη χρήση.
Διαφήμιση
Όσοι προτιμούμε το τερματικό στον υπολογιστή μας ή είμαστε αναγκασμένοι να το χρησιμοποιήσουμε λόγω απομακρυσμένης SSH σύνδεσης, θα πρέπει να επεξεργαστούμε το "crontab" (cron table) για να προσθέσουν τα δικά μας cronjob. Ανοίγουμε λοιπόν ένα τερματικό και δίνουμε την εντολή:
crontab -e
Προσθέτουμε το cronjob που θέλουμε, για παράδειγμα:
0 2 * * * /home/pi/update.sh
Αποθηκεύουμε και κλείνουμε το τερματικό. Για να δούμε τέλος μία λίστα με τα cronjob που έχουμε ήδη φτιάξει, δίνουμε την εντολή:
crontab -l
#Pro tip:
Αν θέλουμε να τρέχουμε μία συγκεκριμένη εντολή σε κάθε επανεκκίνηση, μπορούμε να αντικαταστήσουμε τους αριθμούς που και τους αστερίσκους με το "@reboot". Για παράδειγμα:
@reboot /home/pi/update.sh
#Pro tip 2:
Αν θέλουμε η εντολή μας να τρέχει στο παρασκήνιο, χρειάζεται απλά να προσθέσουμε ένα "&" στο τέλος της. Για παράδειγμα:
@reboot /home/pi/update.sh &
Σχόλια
Δημοσίευση σχολίου
Πες την άποψή σου ή κάνε την ερώτησή σου ελεύθερα, ακολουθώντας όμως τους στοιχειώδεις κανόνες ευγένειας.