Εκτέλεση σκριπτ κελύφους σε συγκεκριμένες ώρες
Για να προγραμματίσετε την εκτέλεση ενός σκριπτ κελύφους σε συγκεκριμένες ώρες, χρησιμοποιήστε την εντολή launchd
ή cron
.
Προγραμματισμός εργασιών με launchd
Για τον προγραμματισμό εργασιών, χρησιμοποιήστε το εργαλείο
launchd
αντί για τοcron
. Με τοlaunchd
, αν γίνει παράλειψη μιας εργασίας επειδή ο υπολογιστής είναι απενεργοποιημένος ή σε κατάσταση ύπνου, η εργασία προστίθεται στην ουρά όταν ο υπολογιστής επανέλθει σε κατάσταση λειτουργίας.Για να χρησιμοποιήσετε το εργαλείο
launchd
για να προγραμματίσετε εργασίες βάσει χρονοδιακόπτη, χρησιμοποιήστε τα κλειδιάStartCalendarInterval
ήStartInterval
.Για περισσότερες πληροφορίες σχετικά με το εργαλείο
launchd
, ανατρέξτε στη σελίδα εγχειριδίου του.
Χρήση cron για προγραμματισμό εργασίας
Ο δαίμονας cron
εκτελεί προγραμματισμένες εντολές που ορίζονται σε αρχεία crontab. Ο δαίμονας cron
εκτελεί αναζήτηση στον φάκελο /usr/lib/cron/tabs/ για αρχεία crontab που φέρουν ονόματα λογαριασμών στο /etc/passwd και φορτώνει τα αρχεία στη μνήμη. Ο δαίμονας cron
εκτελεί επίσης αναζήτηση στον φάκελο /etc/crontab/ για αρχεία crontab, τα οποία είναι διαφορετικής μορφής. Στη συνέχεια, ο δαίμονας cron
εκτελείται κυκλικά κάθε λεπτό, εξετάζοντας τα αποθηκευμένα αρχεία crontab και ελέγχοντας κάθε εντολή προκειμένου να προσδιορίσει εάν πρέπει να εκτελεστούν το συγκεκριμένο λεπτό.
Κατά την εκτέλεση εντολών, η έξοδος στέλνεται στον κάτοχο του αρχείου crontab ή στον χρήστη που αναφέρεται στην προαιρετική μεταβλητή περιβάλλοντος στο αρχείο crontab.
Χρησιμοποιείτε το εργαλείο crontab
για εγκατάσταση, απεγκατάσταση ή προβολή σε λίστα των πινάκων που χρησιμοποιούνται για την εκτέλεση του δαίμονα cron
. Οι χρήστες μπορούν να διαθετουν τα δικά τους αρχεία crontab.
Για να ρυθμίσετε τις παραμέτρους του αρχείου crontab σας, χρησιμοποιήστε την εντολή
crontab -e
. Αυτό ανοίγει ένα κενό αρχείο crontab σε κατάσταση επεξεργασίας.Ακολουθεί ένα παράδειγμα αρχείου crontab:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#min hour mday month wday command
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
50 23 * * 0 diskutil repairVolume /Volumes/MacHD
Σε αυτό το παράδειγμα, η πρώτη καταχώριση επισκευάζει δικαιώματα δίσκου στον τόμο MacHD καθημερινά στις 18:30, από Δευτέρα έως Παρασκευή:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Η δεύτερη καταχώριση προγραμματίζει μια λειτουργία επισκευής τόμου να εκτελείται στις 23:50 κάθε Κυριακή:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD