PHP-skriptin suorittaminen tavallisena käyttäjänä Cronin kanssa


Cron on tehokas apuohjelma töiden aikaperusteiseen ajoitukseen Unix-tyyppisissä käyttöjärjestelmissä, mukaan lukien Linux. Se toimii daemonina, ja sitä voidaan käyttää töiden, kuten komentojen tai komentosarjojen, ajoittamiseen varmuuskopiointiin, päivitysten ajoittamiseen ja moniin muihin, jotka suoritetaan säännöllisesti ja automaattisesti taustalla tiettyinä aikoina, päivinä tai väliajoin.

Yksi cronin rajoituksista on, että se olettaa järjestelmän toimivan ikuisesti. joten se sopii muille palvelimille kuin pöytäkoneille. Lisäksi voit ajoittaa tehtävän tiettyyn tai myöhempään ajankohtaan käyttämällä 'at'- tai 'batch'-komentoja: mutta tehtävä suoritetaan vain kerran (se ei toistu).

Suositeltu luku: Töiden ajoittaminen Anacronilla Linuxissa

Tässä artikkelissa selitämme, kuinka normaalin järjestelmän käyttäjä voi suorittaa tai suorittaa PHP-komentosarjan cron-työn ajastimen kautta Linuxissa.

Voit ajoittaa töitä crontab (CRON TABle) -ohjelman avulla. Jokaisella käyttäjällä voi olla oma crontab-tiedosto, joka koostuu kuudesta kentästä työn määrittämistä varten:

  • Minuutti – hyväksyy arvot välillä 0–59.
  • Tunti – hyväksyy arvot välillä 0–23.
  • Kuukauden päivä – tallentaa arvot välillä 1-31.
  • Vuoden kuukausi – tallentaa arvot välillä 1-12 tai tammi-joulukuu, voit käyttää kunkin kuukauden nimen kolmea ensimmäistä kirjainta, eli tammi tai kesäkuu.
  • Viikonpäivä – sisältää arvot välillä 0-6 tai su-la. Tässä voit myös käyttää kunkin päivän nimen kolmea ensimmäistä kirjainta eli su tai ke.
  • Komento – suoritettava komento.

Voit luoda tai muokata merkintöjä omassa crontab-tiedostossasi kirjoittamalla:

crontab -e

Ja nähdäksesi kaikki crontab-merkinnäsi, kirjoita tämä komento (joka yksinkertaisesti tulostaa crontab-tiedoston std-lähtöön):

crontab -l

Jos kuitenkin olet järjestelmänvalvoja ja haluat suorittaa PHP-komentosarjan toisena käyttäjänä, sinun on ajoitettava se /etc/crontab-tiedostoon tai pääkäyttäjän crontab-tiedostoon, joka tukee ylimääräistä tiedostoa määrittämistä varten. Käyttäjänimi:

sudo vi /etc/crontab

Ja ajoita PHP-skripti suoritettavaksi tällä tavalla, määritä käyttäjänimi ajoitusosion jälkeen.

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

Yllä oleva merkintä suorittaa komentosarjan /var/www/test_site/cronjobs/backup.php joka päivä keskiyöllä käyttäjänä tecmint.

Jos haluat suorittaa yllä olevan komentosarjan automaattisesti kymmenen minuutin välein, lisää seuraava merkintä crontab-tiedostoon.

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

Yllä olevassa esimerkissä */10 * * * * tarkoittaa, milloin työn pitäisi tapahtua. Ensimmäinen kuva näyttää minuutit – tässä skenaariossa joka "kymmenen" minuutin välein. Muut luvut näyttävät vastaavasti tunnin, päivän, kuukauden ja viikonpäivän.

Saatat myös haluta lukea nämä seuraavat aiheeseen liittyvät artikkelit.

  1. Shell-komentosarjan käyttäminen Linux-järjestelmän ylläpitotehtävien automatisoimiseen
  2. 12 hyödyllistä PHP-komentorivin käyttöä Jokaisen Linux-käyttäjän on tiedettävä
  3. PHP-koodien suorittaminen Linux-päätteessä
  4. 30 hyödyllistä Linux-komentoa järjestelmänvalvojille

Siinä kaikki! Toivomme, että tämä artikkeli on sinulle hyödyllinen. Jos sinulla on kysyttävää tai lisäideoita tästä aiheesta, käytä alla olevaa kommenttilomaketta.