Μάθε παιδί μου Linux | Τρέχουμε αυτόματα εντολές και εφαρμογές με τη βοήθεια του 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 &

Σχόλια

Διαβάστε επίσης...

3D Printing | Εκτύπωσε τη δική σου μάσκα για τον κορωναϊό COVID-19!

Android | Αυτές είναι οι εφαρμογές που πρέπει να έχεις οπωσδήποτε στο κινητό σου

Raspberry Pi | Φτιάχνουμε το δικό μας smart home server και ενώνουμε όλες τις έξυπνες συσκευές μας σε μία εφαρμογή!

Οδηγός αγοράς | Τα καλύτερα Android smartphone του 2018 για το 2019

Android | Παίξε τα παιχνίδια του PlayStation στο Android smartphone ή tablet σου με το PS4 Remote Play!

Smart Home | Κάμερα ασφαλείας με μπαταρία για να παρακολουθείς ακόμη και χώρους που δεν έχουν ηλεκτροδότηση!

Android Basics | Πώς λειτουργούν και σε τι χρησιμεύουν οι ρυθμίσεις στο ''Δίκτυο και διαδίκτυο''

Επισκευή smartphone | Οδηγός αλλαγής σπασμένης οθόνης

3D Printing | Δέκα χρήσιμα πράγματα που μπορείς να εκτυπώσεις για το γραφείο σου

Μάθε παιδί μου Linux | Οι βασικές εντολές του τερματικού που πρέπει όλοι να γνωρίζουμε