|

[How To] Χρησιμοποιήστε το crontab σε Linux


Εάν θέλετε να προγραμματίσετε ή να εκτελέσετε περιοδικά, μια εντολή ή ένα script στο pc σας, τότε η λύση του crontab θα σας φανεί πολύ χρήσιμη. Για να προσθέσετε μια εντολή ή ένα scrip στον crontab scheduler, η εντολή που θα πρέπει να δώσετε από το τερματικό σας είναι η παρακάτω:

sudo crontab -e
Όπου και θα σας ανοίξει ο επεξεργαστής κειμένου του συστήματός σας.
Παρακάτω βλέπετε πώς θα είναι το αρχείο crontab στο Linux Mint, όπου ο σχετικός σχολιασμός εξηγεί αρκετά καλά για το πώς θα χρησιμοποιήσετε το crontab. :
H μορφή, ή το format καλύτερα, για να προγραμματίσετε μια εργασία με crontab είναι:
* * * * * /any/command/or/script
Όπως μπορείτε να δείτε, υπάρχουν 5 αστερίσκοι (με ένα διάστημα μεταξύ τους) όπου κάθε αστερίσκος αντιπροσωπεύει ένα μέρος από την μορφή της ημερομηνίας που θα ορίσετε και είναι σύμφωνα με την ακόλουθη σειρά:
*- λεπτά ( value = 0 -> 59)
*- ώρες ( 0 -> 23)
*- Ημέρα του Μήνα ( 1 -> 31)
*- Μήνας ( 1 -> 12)
*- Ημέρα της εβδομάδας ( 0 -> 6, όπου 0 =Κυριακή)
Εν ολίγοις, για να ορίσετε ένα συγκεκριμένο χρονικό διάστημα που θα πρέπει να τρέξει το script σας, το μόνο που χρειάζεται να κάνετε είναι να αντικαταστήσετε τον κάθε αστερίσκο με μια συγκεκριμένη τιμή, αρκεί βέβαια αυτή να συμφωνεί με τα παραπάνω.



Σημείωση: Αν δεν χρειάζεται να ορίσετε τιμή για κάποιον από τους παραπάνω αστερίσκους μην τον σβήσετε παρά αφήστε τον ως έχει.
Για παράδειγμα, για να εκτελέσετε ένα script  στις 7:00 π.μ. κάθε Δευτέρας, για τους πρώτους τρεις μήνες του έτους, η εντολή θα είναι:
0 7 * 1-3 1 /path/to/the/script
Όπως μπορείτε να καταλάβετε, το crontab είναι αρκετά ευέλικτο έτσι.
Για παράδειγμα, για να εκτελέσετε ένα script κάθε 20 λεπτά τη Δευτέρα, Τρίτη και Πέμπτη, για τους μήνες Ιανουάριο, Φεβρουάριο, Μάιο και Οκτώβριο, η εντολή θα είναι:
0,20,40 * * 1,2,5 1,2,4,10 /path/to/the/script
Το Crontab επίσης έχει κάποiα special  keywords για να το χρησιμοποιήσετε:
@reboot at startup
@yearly once a year
@annually ( == @yearly)
@monthly once a month
@weekly once a week
@daily once a day
@midnight ( == @daily)
@hourly once an hour
Για παράδειγμα, για να εκτελέσετε ένα script για μία φορά κάθε ημέρα, η γραμμή που θα προσθέσετε είναι:
@daily /path/to/the/script
Αφού λοιπόν το σώσετε στον επεξεργαστή κειμένου σας, για να ελέγξετε αν η συγκεκριμένη εργασία έχει προγραμματιστεί με το crontab, θα πρέπει να δώσετε την παρακάτω εντολή στο τερματικό σας
sudo crontab -l
Προσοχή: Αν χρησιμοποιήσετε τις λέξεις-κλειδιά, τότε δεν θα μπορείτε να χρησιμοποιήσετε τους αστερίσκους όπως πιο πάνω .