Δημοσιεύτηκε: 19 Αύγ 2008, 12:02
από sudobash
Cron jobs
Για το χρονοπρογραμματισμό κάποιων εργασιών στο linux χρησιμοποιούνται τα cron jobs.

Προβολή ενεργών cron jobs
Για να δούμε τι προγραμματισμένες εργασίες (cron jobs) υπάρχουν ανά πάσα στιγμή στο pc μας, γράφουμε:
Κώδικας: Επιλογή όλων
crontab -l


Προσθήκη νέου cron job
Έτσι, έστω για παράδειγμα ότι έχουμε ένα εκτελέσιμο αρχείο (το my_script) και το οποίο θέλουμε να το προγραμματίσουμε να εκτελείται σε συγκεκριμένες χρονικές στιγμές. Αφού κάνουμε το αρχείο εκτελέσιμο γράφοντας
Κώδικας: Επιλογή όλων
chmod +x my_script

προγραμματίζουμε την εκτέλεση του με cron job. Για να προσθέσουμε κάποιο cron job, γράφουμε:
Κώδικας: Επιλογή όλων
crontab -e

οπότε και προσθέτουμε σε μια γραμμή το cron job σου σε μορφή:
Κώδικας: Επιλογή όλων
45     15     *     *     *         my_script

αυτό σημαίνει ότι κάθε μέρα θα εκτελεί στις 15:45 το αρχείο my_script.

Γενικές οδηγίες
Γενικότερα η σειρά μέσα στο cron έχει ως εξής:
Κώδικας: Επιλογή όλων
# +---------------- λεπτό (0 - 59)
# |  +------------- ώρα (0 - 23)
# |  |  +---------- ημέρα του μήνα (1 - 31)
# |  |  |  +------- μήνας (1 - 12)
# |  |  |  |  +---- μέρα της εβδομάδας (0 - 7)
# |  |  |  |  |
  *  *  *  *  *  εντολή που θα εκτελεστεί

Οπότε μπορούμε να ορίσουμε και συγκεκριμένες μέρες του μήνα ή/και συγκεκριμένους μήνες ή/και συγκεκριμένες μέρες της εβδομάδας που θα εκτελεστεί η προγραμματισμένη εργασία μας.

Πχ. το cron job:
Κώδικας: Επιλογή όλων
30     10     1     1,6,12     *     echo 'Hello world!'

θα τυπώσει το "Hello world!" στις 10:30 την 1η Ιανουαρίου, Ιουνίου και Δεκεμβρίου.

Αφαίρεση υπάρχοντος cron job
Για να αφαιρέσουμε κάποιο cron job, γράφουμε:
Κώδικας: Επιλογή όλων
crontab -e

και σβήνουμε τη γραμμή με το cron job.