Πώς μπορούμε να προγραμματίσουμε αυτόματες εργασίες στο Unix

Τελευταίες δημοσιεύσεις από Stratos Matzouranis (Προβολή όλων)
- Πώς επαναφέρουμε μία Oracle Database που βρίσκεται σε archive-log mode με RMAN Restore - 1 Δεκέμβριος 2025
- Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server με τη χρήση Linked Server - 3 Νοέμβριος 2025
- Πώς απελευθερώνουμε δεσμευμένο χώρο από datafiles / tempfiles μίας βάσης δεδομένων της Oracle - 1 Σεπτέμβριος 2025
Στα λειτουργικά συστήματα βασισμένα σε Unix όπως Linux και MacOS έχουμε εγκαταστημένο το πρόγραμμα Cron.
To Cron μας δίνει την δυνατότητα να μπορούμε να προγραμματίσουμε εργασίες να εκτελούνται αυτόματα μέσα στο χρόνο.
Η χρησιμότητα του ξεχωρίζει σε εργασίες που επαναλαμβάνονται.
Το συντακτικό
Για να δούμε τη λίστα με όσους προγραμματισμούς έχουμε ήδη στο cron
crontab –l
Για να προσθέσουμε νέους προγραμματισμούς ή να αλλάξουμε ήδη υπάρχων
crontab –e
Η κάθε εγράφη αποτελεί έναν ξεχωριστό προγραμματισμό.
Ο τρόπος που συντάσσεται
# ┌───────────── λεπτό (0 - 59)
# │ ┌───────────── ώρα (0 - 23)
# │ │ ┌───────────── μέρα (1 - 31)
# │ │ │ ┌───────────── μήνας (1 - 12)
# │ │ │ │ ┌───────────── ημέρα της εβδομάδας (0 - 6) (0 είναι η Κυριακή)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <η εντολή που θα εκτελεστεί>
Η σειρά στα αστεράκια είναι λεπτά 0-59, ώρες 0-23, μέρα 1-31, μήνας 1-12, μέρα της βδομάδα 0-6 με το 0 να είναι η Κυριακή για αρχή. Ωστόσο μπορούμε να επιλέξουμε κάποιες μέρες βάζοντας ‘ , ‘ ανάμεσα στις μέρες.
Παραδείγματα
Για να εκτελέσουμε το αρχείο test.sh
Ανά 5 λεπτά
*/5 * * * * /home/user/test.sh
Ανά μία ώρα
0 * * * * /home/user/test.sh
Στις 10 το πρωί
0 10 * * * /home/user/test.sh
Κάθε Δευτέρα στις 10:15 το πρωί
15 10 * * 1 /home/user/test.sh
Κάθε πρώτη και 15 του μήνα στις 8 το πρωί
0 8 1,15 * * /home/user/test.sh
Για να δούμε το log
tail -f /var/spool/mail/onoma_xristi

