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

Τελευταίες δημοσιεύσεις από Stratos Matzouranis (Προβολή όλων)
- Πώς να γυρίσουμε μία Oracle Database πίσω στον χρόνο με χρήση restore point σε περιβάλλον Data Guard - 28 Απρίλιος 2025
- Πώς μπορούμε να αυξήσουμε την απόδοση στο target Replicat του Oracle GoldenGate με παραλληλία - 19 Μάρτιος 2025
- Πώς φτιάχνουμε χρήστες σε βάσεις δεδομένων που ανήκουν σε Always On Availability Group του SQL Server - 10 Φεβρουάριος 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