- Vaša košarica je trenutno prazna
Cron opravila (Cron Jobs)
Cron opravila (ang. Cron Jobs) omogočajo avtomatizacijo zaganjanja skript. Uporabljajo se za načrtovanje opravil, na primer za avtomatizacijo upravljanja ali vzdrževanja sistema. Prav tako se uporabljajo pri razvoju spletnih aplikacij, ki za delovanje zahtevajo periodično izvajanje vnaprej določenih opravil.
Kazalo
- Nastavitev cron opravil v nadzorni plošči cPanel
- Primeri cron opravil z različnimi ukazi
- Kako pognati PHP skripto z različnimi verzijami PHP?
Nastavitev cron opravil v nadzorni plošči cPanel
Za nastavitev opravil se morate najprej prijaviti v cPanel nadzorno ploščo in v razdelku ikon Advanced poiskati Cron Jobs.
Na strani, ki se vam odpre, lahko v sekciji Cron Email – pod nastavitvijo Email
– vpišete svoj e-poštni naslov, na katerega boste ob vsakem zagonu cron opravila prejeli obvestilo, da je bilo uspešno izvedeno.
V sklopu sekcije Add New Cron Job nastavite frekvenco ponovitev. Pod Common Settings
imate na voljo najpogostejše nastavitve (enkrat na minuto, uro, dan, …). Če vam te nastavitve ne ustrezajo, lahko sami nastavite, kolikokrat se bo cron opravilo izvedlo.
V polje zraven napisa Command:
vnesete ukaz, ki se bo izvajal v predhodno določenih intervalih.
Svetujemo tudi, da cron opravil ne nastavite na preprogosto izvajanje (npr. enkrat na minuto), saj s tem lahko preobremenite svoj paket gostovanja, kar lahko privede do napak pri delovanju spletnih strani. Priporočljivo izvajanje je največ enkrat na uro ali manj pogosto.
Primeri cron opravil z različnimi ukazi
V spodnjem ukazu namesto besede username
napišite pot, kjer je vaša spletna stran nameščena. Pot najlažje najdete v nadzorni plošči cPanel, in sicer v stolpcu s splošnimi informacijami – na desni strani pod napisom Home Directory
. V primeru, da stran ni nameščena v public_html
mapi ali pa je v podmapi znotraj public_html
, morate dodati še pot do mape, kjer je stran naložena.
Primer:
/home/username/vasadomena.si/cron.php
/home/username/public_html/podmapa/cron.php
Zgornja ukaza bosta zaganjala datoteko cron.php
glede na intervale, ki smo jih nastavili v prejšnjem koraku. Različne skripte (WordPress, Magento, …) imajo lahko različne ukaze oziroma je potrebno dopisati dodatne parametre, tako da vam svetujemo, da si preberete točna navodila.
Da vam bo lažje, vam prilagamo nekaj primerov cron opravila z različnimi ukazi:
- s PHP:
/usr/local/bin/php -q /home/username/public_html/path/to/url.php > /dev/null 2>&1
* - z WGET:
wget --quiet -O - "http://example-domain.com/path/to/url.php" >/dev/null 2>&1
- s CURL:
curl --silent 'http://example-domain.com/path/to/url.php' >/dev/null 2>&1
- z ukazno vrstico:
/bin/sh /home/vase-uporabnisko-ime/public_html/path/to/url.sh >/dev/null 2>&1
* Za izvajanje cron opravil preko PHP interpreterja je potrebno pot (ang. path) do PHP interpreterja (ang. binary) specificirati v celoti, torej v naslednji obliki /usr/local/bin/php
.
Uporaba okrajšane oblike php
preko cron mehanizma rezultira v uporabi PHP različice “cgi-fcgi” – torej iste različice, ki jo uporablja spletni strežnik (Apache/LiteSpeed). V tem načinu pa spremenljivka $_SERVER['argv']
ni definirana, kar pomeni, da določena cron opravila ne delujejo (npr. ker aplikacija ne prejme podanih parametrov).
Kako pognati PHP skripto z različnimi verzijami PHP?
Različico PHP, ki jo želite uporabljati na svojem paketu gostovanja, lahko nastavite v nadzorni plošči cPanel (navodila). Vendar bodo cron opravila, ki se izvajajo na strežniku, običajno uporabljala strežniško različico PHP, ne pa tiste, ki ste jo določili za paket gostovanja.
Napaka neujemanja različice cron PHP (ang. Cron PHP Version Mismatch) je napaka v nekaterih aplikacijah, ki zahtevajo, da za cron opravila določite specifično različico PHP. Do opisane težave npr. pogosto prihaja v aplikaciji WHMCS.
Rešitev je enostavna, saj lahko PHP skripte in aplikacije s cron opravili zaganjate s točno določeno verzijo PHP interpreterja. Če se mora vaše cron opravilo izvajati z drugo različico PHP, boste to dosegli s prilagoditvijo cron ukaza.
Primer aplikacije (skripte), ki bo zagnana s PHP 5.6:
/opt/alt/php56/usr/bin/php -f /home/vase-uporabnisko-ime/direktorij/datoteka.php
Med izvajanjem cron opravil lahko prihaja do različnih napak. Te so najpogosteje posledica napačnih nastavitev samih cron opravil, do njih lahko pride tudi zaradi napak v aplikaciji, na spletni strani, v aktivni “shell” skripti ipd. Več o lociranju napak si preberite v prispevku: Kako razhroščevati cron opravila?
Za dodatno pomoč nas lahko pokličete na 059 335 000 ali nam pišete na info@neoserv.si.
KOMENTIRAJTE OBJAVO
Vaš komentar je bil uspešno oddan
Komentar bo viden na strani, ko ga naši moderatorji potrdijo.