Ustvarjanje opravila cron (in kaj storiti, če se ne izvede)
S cron opravilom (v DirectAdmin: Cron opravila) omogočite, da se skripta samodejno izvaja ob določenih časih, na primer vsako noč. V nadaljevanju preberite, kako ga ustvarite in kaj storiti, če ne deluje.
Pravila za cron opravila
- Pri Webhost One in Webhost Two sme opravilo za vse Vaše naloge skupaj steči največ enkrat na 10 minut.
- Pri paketih Power Webhost se opravila lahko izvajajo pogosteje.
- Več cron opravil razporedite čez čas in izberite mirnejši trenutek, na primer 03:17 namesto natančno opolnoči.
- Zahtevna cron opravila, ki dolgo obremenjujejo strežnik, niso dovoljena. Na istem strežniku deluje več spletnih mest. Po potrebi opravilo ustavimo. Zato naj bodo Vaša opravila kratka in naj se ne izvajajo pogosteje, kot je potrebno.
Ustvarjanje cron opravila
- Prijavite se v DirectAdmin in pod Napredne funkcije kliknite Cron opravila.
- Kliknite Ustvari cron opravilo.
- Vnesite minuto, uro, dan, mesec in dan v tednu. Minuto vedno vnesite s številko, ne z zvezdico, sicer se opravilo izvede vsako minuto.
- Pri ukazu vnesite celotno pot, na primer:
/usr/local/bin/php -q /home/uporabnik/domains/vašadomena.nl/public_html/opravilo.php
Namesto uporabnik vnesite svoje DA uporabniško ime. - Kliknite Ustvari.

E-pošta po vsakem cron opravilu
Izpis cron opravila se pošlje na privzeti e-poštni račun Vašega paketa, glejte Privzeti e-poštni račun v DirectAdmin. Izpis lahko pošljete tudi na svoj naslov z možnostjo Pošlji ves izpis cron opravila po e-pošti. Če e-pošte ne želite, pri ustvarjanju kliknite Prepreči e-pošto ali za ukazom dodajte:
>/dev/null 2>&1
Pozor pri PHP skriptah
Skripta, ki se izvaja prek cron opravila, ne ve, pod katero domeno se izvaja. $_SERVER['SERVER_NAME'] in $_SERVER['DOCUMENT_ROOT'] sta prazna, zato lahko vključitev z relativno potjo spodleti. Zato na vrh skripte dodajte:
$pad = '/home/uporabnik/domains/vašadomena.nl/public_html'; $_SERVER['SERVER_NAME'] = 'vašadomena.nl'; $_SERVER['DOCUMENT_ROOT'] = $pad; set_include_path($pad . PATH_SEPARATOR . get_include_path());
Se Vaše cron opravilo ne izvede?
Preglejte naslednje točke eno za drugo:
- Preberite izpis. Začasno odstranite
>/dev/null 2>&1in preglejte e-pošto na privzetem e-poštnem računu, ali pa nastavite svoj naslov. Tam je pogosto natančno zapisano, kaj ne deluje. Izpis lahko zapišete tudi v dnevniško datoteko, tako da za ukazom dodate>> /home/uporabnik/cron-log.txt 2>&1. - Preverite pot. Sporočilo Could not open input file pomeni, da pot do skripte ni pravilna. Preglejte jo v Upravitelju datotek: pot se začne z
/home/uporabnik/domains/. - Preverite različico PHP. Z
/usr/local/bin/phpopravilo uporablja isto različico PHP kot Vaše spletno mesto. Če skripta deluje le na drugi različici, jo prilagodite pri Select PHP version. - Ukaz preizkusite ročno. Če imate paket s Terminalom, ukaz prilepite tja in preverite, kaj se zgodi, glejte Odpiranje SSH ali Terminala v DirectAdmin. Brez Terminala odprite skripto v brskalniku ali jo v cron opravilu pokličete prek
curl --silent https://www.vašadomena.nl/opravilo.php. - Preverite pravice. Skripta mora biti berljiva: datoteke morajo imeti nastavitev 644, mape pa 755. Glejte Pravice datotek in map (chmod).
- Preverite čas izvajanja. Pri Cron opravilo se izvede: preverite, ali se opravilo izvaja takrat, kot pričakujete. Če je pri minuti zvezdica, se opravilo izvede vsako minuto in ga je mogoče ustaviti.
- Preverite omejitev paketa. Če se opravilo izvaja pogosteje, kot dovoljuje Vaš paket, ali traja predolgo, se prekine. V tem primeru delo razporedite na več krogov.
date >> /home/uporabnik/cron-log.txt;.Glejte tudi v priročniku DirectAdmin: Privzeti e-poštni račun Vašega paketa.
Podrobnejša razlaga s posnetki zaslona: Cron opravila: samodejno izvajanje nalog v priročniku DirectAdmin.
