Πώς μπορούμε να προγραμματίσουμε αυτόματες εργασίες στο Unix
Τελευταίες δημοσιεύσεις από Stratos Matzouranis (Προβολή όλων)
- Πώς αυτοματοποιούμε τη διαδικασία ελέγχου ακεραιότητας των βάσεων δεδομένων σε SQL Server χωρίς την χρήση maintenance plan - 10 Μάιος 2024
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Windows - 5 Απρίλιος 2024
- Πώς μπορούμε να λαμβάνουμε email κάθε φορά που ξεπερνάει ένα όριο η μνήμη PGA σε βάση δεδομένων της Oracle - 1 Μάρτιος 2024
Στα λειτουργικά συστήματα βασισμένα σε 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