Cum să rulați script PHP ca utilizator normal cu Cron


Cron este un utilitar puternic pentru programarea în funcție de timp a lucrărilor în sisteme de operare asemănătoare Unix, inclusiv Linux. Se rulează ca un daemon și poate fi folosit pentru a programa joburi, cum ar fi comenzi sau scripturi shell pentru a efectua copii de rezervă, pentru a programa actualizări și multe altele, care rulează periodic și automat în fundal la anumite ore, date sau intervale.

O limitare a cron este că presupune că un sistem va funcționa pentru totdeauna; deci este potrivit pentru alte servere decât computerele desktop. În plus, puteți programa o sarcină la oră dată sau ulterioară, folosind comenzile „la” sau „batch”: dar sarcina este rulată o singură dată (nu se repetă).

Lectură sugerată: Cum să programați lucrări utilizând Anacron pe Linux

În acest articol, vom explica cum să permiteți unui utilizator de sistem normal să ruleze sau să execute un script PHP printr-un planificator de job cron în Linux.

Puteți programa lucrări folosind programul crontab (CRON TABle). Fiecare utilizator poate avea propriul fișier crontab care este format din șase câmpuri pentru definirea unui job:

  • Minut – acceptă valori între 0-59.
  • Ora – acceptă valori între 0-23.
  • Ziua lunii – stochează valori între 1-31.
  • Luna anului – stochează valori între 1-12 sau ianuarie-dec, puteți folosi primele trei litere ale numelui fiecărei luni, adică ianuarie sau iunie.
  • Ziua săptămânii – deține valori între 0-6 sau Sun-Sat. De asemenea, aici puteți utiliza primele trei litere ale numelui fiecărei zile, adică Sun sau Mier.
  • Comandă – comandă care urmează să fie executată.

Pentru a crea sau edita intrări în propriul fișier crontab, tastați:

crontab -e

Și pentru a vedea toate intrările tale crontab, tastați această comandă (care va imprima pur și simplu fișierul crontab la ieșirea std):

crontab -l

Cu toate acestea, dacă sunteți administrator de sistem și doriți să executați un script PHP ca alt utilizator, trebuie să îl programați în fișierul /etc/crontab sau în fișierul crontab al utilizatorului root, care acceptă un fișier suplimentar pentru specificare. numele de utilizator:

sudo vi /etc/crontab

Și programați scriptul PHP să fie executat astfel, specificați numele de utilizator după secțiunea de sincronizare.

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

Intrarea de mai sus execută scriptul /var/www/test_site/cronjobs/backup.php în fiecare zi la miezul nopții ca utilizator tecmint.

Dacă doriți să executați automat scriptul de mai sus la fiecare zece minute, adăugați următoarea intrare în fișierul crontab.

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

În exemplul de mai sus, */10 * * * * reprezintă momentul în care ar trebui să aibă loc lucrarea. Prima cifră arată minute – în acest scenariu, la fiecare „zece” minut. Celelalte cifre arata, respectiv, ora, ziua, luna si ziua saptamanii.

De asemenea, v-ar putea dori să citiți următoarele articole conexe.

  1. Utilizarea Shell Scripting pentru a automatiza sarcinile de întreținere a sistemului Linux
  2. 12 Utilizare utilă a liniei de comandă PHP pe care fiecare utilizator Linux trebuie să știe
  3. Cum să rulați coduri PHP în terminalul Linux
  4. 30 de comenzi Linux utile pentru administratorii de sistem

Asta e tot! Sperăm că veți găsi acest articol util. Dacă aveți întrebări sau idei suplimentare de împărtășit cu privire la acest subiect, utilizați formularul de comentarii de mai jos.