Kā palaist PHP skriptu kā parastu lietotāju ar


Cron ir spēcīga lietderība laika plānošanai, izmantojot Unix līdzīgās operētājsistēmās, ieskaitot Linux. Tas darbojas kā dēmons, un to var izmantot, lai ieplānotu tādus darbus kā komandas vai čaulas skriptus, lai veiktu dublējumus, ieplānotu atjauninājumus un daudzus citus, kas periodiski un automātiski darbojas fonā noteiktos laikos, datumos vai intervālos.

Viens cron ierobežojums ir tāds, ka tas pieņem, ka sistēma darbosies mūžīgi; tāpēc tas ir piemērots serveriem, kas nav galddatoru mašīnas. Turklāt jūs varat ieplānot uzdevumu noteiktā vai vēlākā laikā, izmantojot komandas “at” vai “batch”: bet uzdevums tiek palaists tikai vienu reizi (tas netiek atkārtots).

Šajā rakstā mēs paskaidrosim, kā atļaut parastam sistēmas lietotājam palaist vai izpildīt PHP skriptu, izmantojot cron darba plānotāju Linux.

Darbus varat ieplānot, izmantojot crontab (CRON TABle) programmu. Katram lietotājam var būt savs crontab fails, kas sastāv no sešiem laukiem darba definēšanai:

  • Minūte - pieņem vērtības starp 0–59.
  • Stunda - pieņem vērtības starp 0–23.
  • Mēneša diena - saglabā vērtības starp 1–31.
  • Gada mēnesis - vērtības tiek glabātas no 1. līdz 12. janvārim vai janvārim līdz decembrim. Jūs varat izmantot katra mēneša nosaukuma trīs pirmos burtus, ti, janvāri vai jūniju.
  • Nedēļas diena - tur vērtības starp 0–6 vai Sv – Sest. Šeit varat arī izmantot katras dienas pirmos trīs burtus, t.i., svētdienu vai trešdienu.
  • Komanda - izpildāma komanda.

Lai izveidotu vai rediģētu ierakstus savā crontab failā, ierakstiet:

$ crontab -e

Un, lai skatītu visus crontab ierakstus, ierakstiet šo komandu (kas vienkārši izdrukās crontab failu standarta izvadē):

$ crontab -l

Tomēr, ja esat sistēmas administrators un vēlaties izpildīt PHP skriptu kā cits lietotājs, tas jāplāno failā/etc/crontab vai root lietotāja crontab failā, kas atbalsta papildu failu lietotājvārda norādīšanai:

$ sudo vi /etc/crontab

Un ieplānojiet PHP skripta izpildi šādi, pēc laika sadaļas norādiet lietotājvārdu.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Iepriekš minētais ieraksts katru pusnakti izpilda skriptu /var/www/test_site/cronjobs/backup.php kā lietotāja tecmint.

Ja vēlaties izpildīt iepriekš minēto skriptu automātiski ik pēc desmit minūtēm, pievienojiet šo ierakstu crontab failā.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Iepriekš minētajā piemērā */10 * * * * norāda, kad darbam jānotiek. Pirmajā attēlā redzamas minūtes - šajā scenārijā katru "desmit" minūti. Pārējie skaitļi parāda attiecīgi stundu, dienu, mēnesi un nedēļas dienu.

Jūs varētu vēlēties arī izlasīt šos saistītos rakstus.

  1. Shell skriptu izmantošana, lai automatizētu Linux sistēmas uzturēšanas uzdevumus
  2. 12 noderīgas PHP komandrindas lietošana, kas jāzina katram Linux lietotājam
  3. Kā palaist PHP kodus Linux terminālā
  4. 30 noderīgas Linux komandas sistēmas administratoriem

Tas ir viss! Mēs ceram, ka šis raksts jums noderēs. Ja jums ir kādi jautājumi vai papildu idejas, ko dalīties par šo tēmu, izmantojiet zemāk esošo komentāru veidlapu.