Weboldal keresés

PHP Script futtatása normál felhasználóként a Cron segítségével


A Cron egy hatékony segédprogram a feladatok időalapú ütemezéséhez Unix-szerű operációs rendszerekben, beleértve a Linuxot is. Démonként fut, és használható olyan feladatok ütemezésére, mint például parancsok vagy shell-szkriptek biztonsági mentések végrehajtására, frissítések ütemezésére és még sok másra, amelyek rendszeresen és automatikusan futnak a háttérben meghatározott időpontokban, dátumokon vagy időközönként.

A cron egyik korlátja, hogy feltételezi, hogy a rendszer örökké futni fog; így az asztali gépeken kívül más szerverekhez is alkalmas. Ezenkívül ütemezhet egy feladatot adott vagy későbbi időpontra az „at” vagy a „batch” paranccsal, de a feladat csak egyszer fut le (nem ismétlődik).

Javasolt olvasmány: Munkák ütemezése Anacron használatával Linuxon

Ebben a cikkben elmagyarázzuk, hogyan engedélyezhető egy normál rendszerfelhasználó PHP-szkript futtatása vagy végrehajtása a cron feladatütemezőn keresztül Linux alatt.

A munkákat a crontab (CRON TABle) programmal ütemezheti. Minden felhasználónak saját crontab fájlja lehet, amely hat mezőből áll a munka meghatározásához:

  • Perc – 0 és 59 közötti értékeket fogad el.
  • Óra – 0 és 23 közötti értékeket fogad el.
  • Hónap napja – 1-31 között tárolja az értékeket.
  • Az év hónapja – 1-12 vagy január-december között tárolja az értékeket, használhatja minden hónap nevének első három betűjét, azaz január vagy jún.
  • A hét napja – 0-6 vagy V-Szo értékeket tartalmaz. Itt is használhatja minden nap nevének első három betűjét, azaz vasárnap vagy szerda.
  • Parancs – végrehajtandó parancs.

Ha bejegyzéseket szeretne létrehozni vagy szerkeszteni saját crontab fájljában, írja be:

crontab -e

Az összes crontab bejegyzés megtekintéséhez írja be ezt a parancsot (amely egyszerűen kinyomtatja a crontab fájlt az std kimenetre):

crontab -l

Ha azonban Ön rendszergazda, és egy másik felhasználóként szeretne PHP-szkriptet futtatni, akkor azt az /etc/crontab fájlban vagy a root felhasználó crontab fájljában kell ütemeznie, amely támogatja az extra fájl megadását. a felhasználónév:

sudo vi /etc/crontab

És ütemezze be a PHP-szkript végrehajtását, és adja meg a felhasználónevet az időzítés szakasz után.

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

A fenti bejegyzés a /var/www/test_site/cronjobs/backup.php szkriptet minden nap éjfélkor hajtja végre tecmint felhasználóként.

Ha a fenti szkriptet tíz percenként automatikusan szeretné végrehajtani, adja hozzá a következő bejegyzést a crontab fájlhoz.

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

A fenti példában a */10 * * * * azt jelzi, hogy a feladatnak mikor kell megtörténnie. Az első ábra a perceket mutatja – ebben a forgatókönyvben minden "tíz" percben. A többi ábra az órát, a napot, a hónapot és a hét napját mutatja.

Érdemes lehet elolvasni a következő kapcsolódó cikkeket is.

  1. Shell Scripting használata a Linux rendszerkarbantartási feladatok automatizálására
  2. 12 Hasznos PHP parancssorhasználat, amelyet minden Linux-felhasználónak tudnia kell
  3. PHP kódok futtatása Linux terminálon
  4. 30 hasznos Linux-parancs rendszergazdák számára

Ez minden! Reméljük, hogy hasznosnak találja ezt a cikket. Ha bármilyen kérdése vagy további ötlete van a témával kapcsolatban, használja az alábbi megjegyzés űrlapot.