Kuinka suorittaa PHP-komentosarja normaalikäyttäjänä Cronilla


Cron on tehokas apuohjelma työtehtävien aikataulutukseen Unix-tyyppisissä käyttöjärjestelmissä, mukaan lukien Linux. Se toimii daemonina, ja sitä voidaan käyttää ajastamaan töitä, kuten komentoja tai komentosarjoja, varmuuskopioiden, aikataulujen päivitysten ja monien muiden suorittamiseksi, jotka suoritetaan säännöllisesti ja automaattisesti taustalla tiettyinä aikoina, päivämäärinä tai välein.

Yksi cronin rajoitus on, että se olettaa, että järjestelmä toimii ikuisesti; joten se sopii muille palvelimille kuin työasemakoneille. Lisäksi voit ajoittaa tehtävän tietylle tai myöhemmälle ajalle käyttämällä komentoja 'at' tai 'batch': mutta tehtävä suoritetaan vain kerran (sitä ei toisteta).

Tässä artikkelissa selitämme, kuinka sallitaan normaalin järjestelmän käyttäjän suorittaa tai suorittaa PHP-komentosarja cron-työaikataulun avulla Linuxissa.

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

  • 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 - arvot tallennetaan välillä 1–12 tai tammi – joulukuu. Voit käyttää kunkin kuukauden kolmen ensimmäistä kirjainta, toisin sanoen tammi tai kesäkuu.
  • Viikonpäivä - arvot ovat välillä 0–6 tai su – la. Tässä voit myös käyttää jokaisen päivän kolmen ensimmäistä kirjainta eli su tai ke.
  • Komento - suoritettava komento.

Voit luoda tai muokata merkintöjä omaan crontab-tiedostoon kirjoittamalla:

$ crontab -e

Jos haluat tarkastella kaikkia crontab-merkintöjä, kirjoita tämä komento (joka yksinkertaisesti tulostaa crontab-tiedoston vakiotulosteeksi):

$ 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 käyttäjänimen määrittämisessä:

$ sudo vi /etc/crontab

Ja ajoita PHP-komentosarjasi suoritettavaksi tällä tavalla, määritä käyttäjänimi ajoitusosan 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 päivittäin keskiyöllä käyttäjän määrityksenä.

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 * * * * kuvaa, milloin työn pitäisi tapahtua. Ensimmäisessä kuvassa on minuutit - tässä skenaariossa jokainen "kymmenen" minuutti. Muut luvut osoittavat, tunti, päivä, kuukausi ja viikonpäivä.

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

  1. Shell-komentosarjojen käyttäminen Linux-järjestelmän ylläpitotehtävien automatisointiin
  2. 12 hyödyllistä PHP-komentorivien käyttöä, jonka jokaisen Linux-käyttäjän on tiedettävä
  3. PHP-koodien suorittaminen Linux-päätelaitteessa
  4. 30 hyödyllistä Linux-komentoa järjestelmänvalvojille

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