Δημιουργία cronjob (προγραμματισμένης εργασίας)
Μπορείτε να δημιουργήσετε τα λεγόμενα CRON jobs, δηλαδή προγράμματα που εκτελούνται σε προκαθορισμένες ώρες. Δεν επιτρέπεται η δημιουργία cronjobs που εκτελούνται συχνότερα από 1 φορά ανά 10 λεπτά. Επίσης δεν επιτρέπονται βαριά cronjobs (που επιβαρύνουν υπερβολικά τον επεξεργαστή). Σε έναν server λειτουργούν και πολλές άλλες ιστοσελίδες. Δεν θέλετε να σας επηρεάζουν οι άλλοι, αλλά ούτε κι εσείς τους άλλους. Η WebOké μπορεί, αν χρειαστεί, να τερματίσει cronjobs. Ο κανόνας είναι ότι ένα cronjob δεν επιτρέπεται να εκτελείται περισσότερο από 10 δευτερόλεπτα. Αν θέλετε να εκτελούνται cronjobs συχνότερα, αυτό επιτρέπεται από τα πακέτα POWER WEBHOST και πάνω.
Αν δημιουργήσετε περισσότερα cronjobs, αυτό ισχύει για το σύνολο: ξεκινάτε το πολύ 1 cronjob ανά 10 λεπτά. Κατανείμετε λοιπόν σωστά τα cronjobs σας, κάτι που βελτιώνει την απόδοση του server.
Στο cronjob σας προσθέστε κατά προτίμηση αυτή την εντολή: set_time_limit(10). Έτσι το cronjob σας θα σταματήσει αν διαρκέσει περισσότερο από 10 δευτερόλεπτα. Ένα cronjob το καταχωρείτε από τον πίνακα ελέγχου.
Πώς μοιάζει ένα cronjob
Ένα cronjob που ξεκινά για παράδειγμα ένα πρόγραμμα PHP μοιάζει με αυτό:
/usr/local/bin/php -q /home/<usrdir>/domains/<uwdomein.xx>/public_html/<taak.php>
Αντικαταστήστε το <usrdir> με το όνομα χρήστη του DirectAdmin, το <uwdomein.xx> με το domain σας και το <taak.php> με το script PHP σας.
Αποστολή email μετά από κάθε cronjob
Από προεπιλογή στέλνεται ένα email στον προεπιλεγμένο λογαριασμό email σας. Σε αυτό το email εμφανίζονται τυχόν σφάλματα του cron, καθώς και τυχόν εντολές εμφάνισης (display). Μπορείτε να δείτε αυτόν τον λογαριασμό email στο webmail.weboke.nl, συμπληρώνοντας ως όνομα χρήστη το όνομα του λογαριασμού σας, τον κωδικό πρόσβασης και το όνομα του server. Αν δεν θέλετε πλέον να λαμβάνετε email κάθε φορά, προσθέστε αυτό μετά το cronjob: /dev/null 2>&1
Οι διαδρομές είναι λίγο διαφορετικές από ό,τι μέσω FTP
Πρέπει δηλαδή να βάλετε μπροστά την πλήρη διαδρομή προς την PHP και την πλήρη διαδρομή στον server προς το πρόγραμμα PHP. Αυτό διαφέρει από το FTP: τώρα μπροστά υπάρχει το /home/usrdir. Το usrdir πρέπει να το αντικαταστήσετε με το δικό σας όνομα χρήστη (αυτό του πίνακα ελέγχου).
Σημαντικό!! Ένα cronjob δεν γνωρίζει domain
Προσέξτε επίσης ότι το πρόγραμμα PHP, όταν εκτελείται από cronjob, δεν γνωρίζει κάτω από ποια ιστοσελίδα λειτουργεί. Το $_SERVER['SERVER_NAME'] είναι κενό, αλλά και ένα include θα αποτύχει, επειδή δεν υπάρχει βασική διαδρομή!!
Παράδειγμα κώδικα για το πρόγραμμα του cron, ώστε να το αποφύγετε:
- $pad = "/home/<usrname>/domains/<uwdomein.xx>/public_html"; (προσοχή: αντικαταστήστε τα <usrdir> και <uwdomein.xx>!!!)
- $_SERVER['SERVER_NAME'] = 'onomaetairias.gr';
- $_SERVER['DOCUMENT_ROOT'] = $pad;
- set_include_path($pad . PATH_SEPARATOR . ini_get("include_path"));
