Σειρά εκτέλεσης των cronjobs

George Notaras gnot at g-loaded.eu
Mon Oct 29 03:00:57 EET 2007


On Mon, 2007-10-29 at 02:37 +0200, George Notaras wrote:
> Ας θεωρήσουμε ότι δύο cronjobs έχουν προγραμματιστεί να εκτελούνται κάθε
> 5 λεπτά και ότι είναι ορισμένα μέσα στο ίδιο αρχείο στον
> κατάλογο /etc/cron.d.
> 
> Παρακάτω είναι ένα τέτοιο παράδειγμα/πρόβλημα:
> 
>   # Sysstat
>   */5 * * * * root /usr/lib/sa/sa1 1 1
>   # Cacti poller
>   */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null
> 2>&1
> 
> Αν με ρωτούσε κανείς σχετικά με το ποιο από τα δύο πιστεύω ότι θα
> εκτελεστεί πρώτο, θα στοιχημάτιζα ότι η σειρά εκτέλεσης θα ήταν αυστηρά
> η σειρά με την οποία είναι ορισμένα μέσα στο παραπάνω αρχείο. Εντούτοις,
> η σειρά εκτέλεσης είναι η αντίστροφη. Το ίδιο συμβαίνει και όταν τα δύο
> jobs είναι ορισμένα σε διαφορετικά αρχεία μέσα στον /etc/cron.d.
> 
> Πώς (στα κομμάτια) εξηγείται ή καλύτερα δικαιολογείται αυτή η
> συμπεριφορά?
> 
> Με τι κριτήριο επιλέγει το crond ποιο job θα τρέξει πρώτο, όταν 2 ή
> περισσότερα jobs είναι προγραμματισμένα για εκτέλεση την ίδια χρονική
> στιγμή? Μήπως τα διαλέγει αλφαβητικά? Μήπως ανάλογα με το modification
> time του κάθε αρχείου? Μήπως εκτελούνται παράλληλα? Μήπως να πήγαν στο
> βουνό?
> 
> Ευχαριστώ
> 
> ΥΓ: Έχω κάνει την ίδια ερώτηση και στο φορουμ[1]. Ας απαντήσει όπου
> βολεύεται ο καθένας.
> 
> [1]: http://forum.hellug.gr/servers/cronjobs/msg1188/#msg1188
> 
> 

Θα μπορούσα να φτιάξω έναν κατάλογο:

  /etc/cron.per5min

και να ορίσω στο /etc/crontab:

  0/5 * * * * root run-parts /etc/cron.per5min

Φαίνεται ότι μέσα σε αυτούς τους καταλόγους (cron.hourly, cron.daily
κτλ) τηρείται αλφαβητική σειρά προτεραιότητας.

Αλλά σε αυτή την περίπτωση πώς θα ορίσω τον χρήστη που θα εκτελεί την
προκαθορισμένη εντολή; Θα υπήρχε πρόβλημα αν δοκιμάσω κάτι σαν το
παρακάτω μέσα στα scripts που θα βάλω στον κατάλογο /etc/cron.per5min:

  su -l cacti -c "/usr/bin/php /usr/share/cacti/poller.php > /dev/null
2>&1"

Θα περιμένω κάποια απάντηση πριν αλλάξω κάτι.

Ευχαριστώ





More information about the Linux-greek-users mailing list