Cronjob vai uzdevuma izveide (un ko darīt, ja tas nedarbojas)
Izmantojot cron uzdevumu (DirectAdmin vidē: Cron Jobs), Jūs varat skriptu automātiski palaist noteiktā laikā, piemēram, katru nakti. Tālāk varat lasīt, kā to izveidot un ko darīt, ja tas nedarbojas.
Noteikumi cron uzdevumiem
- Webhost One un Webhost Two pakotnēs uzdevums drīkst sākties ne biežāk kā reizi 10 minūtēs, kopā visiem Jūsu uzdevumiem.
- Power Webhost pakotnēs uzdevumi drīkst darboties biežāk.
- Sadaliet vairākus cron uzdevumus laikā un izvēlieties mierīgu brīdi, piemēram, 03:17, nevis tieši pusnakti.
- Smagi cron uzdevumi, kas ilgstoši noslogo serveri, nav atļauti. Uz viena servera darbojas vairākas tīmekļa vietnes. Ja nepieciešams, mēs apturēsim cron uzdevumu. Tāpēc veidojiet uzdevumus īsus un ļaujiet tiem darboties ne biežāk, kā nepieciešams.
Cron uzdevuma izveide
- Pieslēdzieties DirectAdmin un sadaļā Advanced Features noklikšķiniet uz Cron Jobs.
- Noklikšķiniet uz Create Cron Job.
- Norādiet minūti, stundu, dienu, mēnesi un nedēļas dienu. Minūtes vietā vienmēr ievadiet skaitli, nevis zvaigznīti, citādi uzdevums darbosies katru minūti.
- Komandas laukā norādiet pilnu ceļu, piemēram:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Aizstājiet gebruiker ar savu DA lietotājvārdu. - Noklikšķiniet uz Create.

E-pasts pēc katra cron uzdevuma
Cron uzdevuma rezultāts tiek nosūtīts uz Jūsu pakotnes noklusējuma e-pasta kontu, skatiet Noklusējuma e-pasta konts DirectAdmin. Rezultātu varat nosūtīt arī uz savu adresi, izmantojot Send All Cron Output To Email. Ja nevēlaties saņemt e-pastu, izveidojot uzdevumu noklikšķiniet uz Prevent Emails, vai arī aiz komandas pievienojiet:
>/dev/null 2>&1
Ņemiet vērā, strādājot ar PHP skriptiem
Skripts, kas darbojas no cron uzdevuma, nezina, kādā domēnā tas tiek izpildīts. $_SERVER['SERVER_NAME'] un $_SERVER['DOCUMENT_ROOT'] ir tukši, un include ar relatīvu ceļu var neizdoties. Tāpēc skripta sākumā ievietojiet:
$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());
Vai Jūsu cron uzdevums nedarbojas?
Pārbaudiet šos punktus vienu pēc otra:
- Izlasiet rezultātu. Īslaicīgi noņemiet
>/dev/null 2>&1un apskatiet e-pastu noklusējuma e-pasta kontā, vai arī iestatiet savu adresi. Tur bieži vien ir redzams, kas tieši neizdodas. Rezultātu varat arī ierakstīt žurnāla failā, aiz komandas pievienojot>> /home/gebruiker/cron-log.txt 2>&1. - Pārbaudiet ceļu. Paziņojums Could not open input file nozīmē, ka ceļš uz skriptu nav pareizs. Apskatiet File Manager: ceļam jāsākas ar
/home/gebruiker/domains/. - Pārbaudiet PHP versiju. Izmantojot
/usr/local/bin/php, uzdevums izmanto to pašu PHP versiju, kas Jūsu tīmekļa vietnei. Ja skripts darbojas tikai ar citu versiju, mainiet to sadaļā Select PHP version. - Pārbaudiet komandu manuāli. Ja Jūsu pakotnē ir Terminal, ielīmējiet komandu tur un apskatiet, kas notiek, skatiet SSH vai Terminal atvēršana DirectAdmin. Ja nav Terminal, atveriet skriptu savā pārlūkprogrammā vai cron uzdevumā izsauciet to, izmantojot
curl --silent https://www.jouwdomein.nl/taak.php. - Pārbaudiet atļaujas. Skriptam jābūt lasāmam: failiem jābūt ar atļauju 644, bet mapēm ar 755. Skatiet Failu un mapju atļaujas (chmod).
- Pārbaudiet laiku. Apskatiet pie Cronjob will be run:, vai uzdevums darbojas tad, kad Jūs domājat. Ja pie minūtes ir zvaigznīte, uzdevums darbojas katru minūti un var tikt apturēts.
- Pārbaudiet pakotnes limitu. Ja uzdevums darbojas biežāk, kā Jūsu pakotne atļauj, vai ilgst pārāk ilgi, tas tiek pārtraukts. Tādā gadījumā sadaliet darbu vairākos posmos.
date >> /home/gebruiker/cron-log.txt;Skatiet arī DirectAdmin rokasgrāmatā: Jūsu pakotnes noklusējuma e-pasta konts.
Izvērstu skaidrojumu ar ekrānuzņēmumiem skatiet: Cron Jobs: uzdevumu automātiska palaišana DirectAdmin rokasgrāmatā.
