Izrada cronjoba ili zadatka (i što učiniti ako se ne izvršava)
Pomoću cron posla (u DirectAdminu: Cron Jobs) omogućujete da se skripta automatski pokreće u određeno vrijeme, primjerice svake noći. U nastavku saznajte kako ga izraditi i što učiniti ako ne radi.
Pravila za cron poslove
- Kod paketa Webhost One i Webhost Two zadatak smije pokrenuti najviše jednom svakih 10 minuta, za sve Vaše zadatke zajedno.
- Kod paketa Power Webhost zadaci se smiju izvršavati češće.
- Rasporedite više cron poslova tijekom vremena i odaberite mirniji trenutak, primjerice 03:17 umjesto točno u ponoć.
- Opterećujući cron poslovi koji dugo opterećuju poslužitelj nisu dopušteni. Na istom poslužitelju radi više web stranica. Po potrebi ćemo zaustaviti cron posao. Stoga Vaše zadatke držite kratkima i ne pokrećite ih češće nego što je potrebno.
Izrada cron posla
- Prijavite se u DirectAdmin i pod Advanced Features kliknite na Cron Jobs.
- Kliknite na Create Cron Job.
- Unesite minutu, sat, dan, mjesec i dan u tjednu. Minutu uvijek unesite brojem, a ne zvjezdicom, inače će se zadatak pokretati svake minute.
- Kod naredbe unesite puni put, primjerice:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Zamijenite gebruiker svojim DA korisničkim imenom. - Kliknite na Create.

E-pošta nakon svakog cron posla
Izlaz cron posla šalje se na zadani e-mail račun Vašeg paketa, pogledajte Zadani e-mail račun u DirectAdminu. Izlaz možete poslati i na vlastitu adresu pomoću opcije Send All Cron Output To Email. Ako ne želite primati e-poštu, pri izradi kliknite na Prevent Emails ili na kraj naredbe dodajte:
>/dev/null 2>&1
Napomena za PHP skripte
Skripta koja se pokreće putem cron posla ne zna pod kojom domenom se izvršava. $_SERVER['SERVER_NAME'] i $_SERVER['DOCUMENT_ROOT'] su prazni, pa uključivanje (include) s relativnim putem može ne uspjeti. Stoga na vrh skripte dodajte:
$pad = '/home/gebruiker/domains/jouwdomein.nl/public_html'; $_SERVER['SERVER_NAME'] = 'jouwdomein.nl'; $_SERVER['DOCUMENT_ROOT'] = $pad; set_include_path($pad . PATH_SEPARATOR . get_include_path());
Cron posao Vam ne radi?
Provjerite sljedeće točke jednu po jednu:
- Pročitajte izlaz. Privremeno uklonite
>/dev/null 2>&1i pogledajte e-poštu u zadanom e-mail računu, ili postavite vlastitu adresu. Tamo se često nalazi točno ono što je pošlo po zlu. Izlaz možete zapisati i u log datoteku tako da na kraj naredbe dodate>> /home/gebruiker/cron-log.txt 2>&1. - Provjerite put. Poruka Could not open input file znači da put do skripte nije točan. Pogledajte u File Manageru: put počinje s
/home/gebruiker/domains/. - Provjerite PHP verziju. Pomoću
/usr/local/bin/phpzadatak koristi istu PHP verziju kao Vaša web stranica. Ako Vaša skripta radi samo s drugom verzijom, prilagodite to u Select PHP version. - Ručno testirajte naredbu. Ako imate paket s Terminalom, zalijepite naredbu u njega i pogledajte što se događa, pogledajte Otvaranje SSH ili Terminala u DirectAdminu. Bez Terminala skriptu otvorite u svom pregledniku ili je u cron poslu pozovite putem
curl --silent https://www.jouwdomein.nl/taak.php. - Provjerite dozvole. Skripta mora biti čitljiva: datoteke trebaju imati postavku 644, a mape 755. Pogledajte Dozvole datoteka i mapa (chmod).
- Provjerite vrijeme. Pogledajte pod Pokretanje cron posla: pokreće li se zadatak kada mislite da bi trebao. Ako je kod minute zvjezdica, zadatak se pokreće svake minute i može biti zaustavljen.
- Provjerite ograničenje paketa. Ako se zadatak pokreće češće nego što Vaš paket dopušta, ili traje predugo, bit će prekinut. U tom slučaju rasporedite posao na više krugova.
date >> /home/gebruiker/cron-log.txt; prije svoje naredbe.Pogledajte i u DirectAdmin priručniku: Zadani e-mail račun Vašeg paketa.
Detaljno objašnjenje sa snimkama zaslona: Cron Jobs: automatsko pokretanje zadataka u DirectAdmin priručniku.
