Kako pokrenuti PHP skriptu kao normalan korisnik sa Cron-om


Cron je moćan uslužni program za vremenski zasnovano zakazivanje poslova u operativnim sistemima sličnim Unixu, uključujući Linux. Pokreće se kao demon i može se koristiti za planiranje poslova kao što su komande ili shell skripte za pravljenje rezervnih kopija, zakazivanje ažuriranja i još mnogo toga, koji se povremeno i automatski pokreću u pozadini u određeno vrijeme, datume ili intervale.

Jedno ograničenje cron je da pretpostavlja da će sistem raditi zauvek; tako da je pogodan za servere koji nisu desktop računari. Osim toga, možete zakazati zadatak na određeno ili kasnije vrijeme, koristeći naredbe 'at' ili 'batch': ali zadatak se pokreće samo jednom (ne ponavlja se).

Preporučeno čitanje: Kako zakazati poslove koristeći Anacron na Linuxu

U ovom članku ćemo objasniti kako omogućiti normalnom korisniku sistema da pokrene ili izvrši PHP skriptu preko cron planera poslova u Linuxu.

Možete zakazati poslove pomoću programa crontab (CRON TABle). Svaki korisnik može imati svoju crontab datoteku koja se sastoji od šest polja za definiranje posla:

  • Minuta – prihvaća vrijednosti između 0-59.
  • Sat – prihvaća vrijednosti između 0-23.
  • Dan u mjesecu – pohranjuje vrijednosti između 1-31.
  • Mjesec u godini – pohranjuje vrijednosti između 1-12 ili Jan-Dec, možete koristiti prva tri slova naziva svakog mjeseca, tj. Jan ili Jun.
  • Dan u sedmici – sadrži vrijednosti između 0-6 ili Sun-Sat, Ovdje također možete koristiti prva tri slova imena svakog dana, tj. Sun ili Wed.
  • Command – naredba koju treba izvršiti.

Da kreirate ili uredite unose u svojoj crontab datoteci, upišite:

crontab -e

I da vidite sve svoje crontab unose, upišite ovu naredbu (koja će jednostavno ispisati crontab datoteku na std izlaz):

crontab -l

Međutim, ako ste administrator sistema i želite da izvršite PHP skriptu kao drugi korisnik, morate je zakazati u datoteci /etc/crontab ili crontab datoteci root korisnika koja podržava dodatni fajl za navođenje korisničko ime:

sudo vi /etc/crontab

I zakažite da se vaša PHP skripta izvršava na ovaj način, navedite korisničko ime nakon odjeljka za mjerenje vremena.

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

Gornji unos izvršava skriptu /var/www/test_site/cronjobs/backup.php svakog dana u ponoć kao korisnik tecmint.

Ako želite da se gore navedeni skript automatski izvršava svakih deset minuta, dodajte sljedeći unos u crontab datoteku.

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

U gornjem primjeru, */10 * * * * predstavlja kada bi se posao trebao dogoditi. Prva slika prikazuje minute – u ovom scenariju, na svakih "deset" minuta. Ostale brojke pokazuju, redom, sat, dan, mjesec i dan u sedmici.

Možda biste željeli pročitati i ove sljedeće povezane članke.

  1. Upotreba shell skripti za automatizaciju zadataka održavanja Linux sistema
  2. 12 Korisna upotreba PHP komandne linije Svaki Linux korisnik mora znati
  3. Kako pokrenuti PHP kodove u Linux terminalu
  4. 30 Korisnih Linux naredbi za sistemske administratore

To je sve! Nadamo se da će vam ovaj članak biti koristan. Ako imate bilo kakvih pitanja ili dodatnih ideja za podijeliti u vezi sa ovom temom, koristite obrazac za komentare ispod.