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.
- Shell Scripting használata a Linux rendszerkarbantartási feladatok automatizálására
- 12 Hasznos PHP parancssorhasználat, amelyet minden Linux-felhasználónak tudnia kell
- PHP kódok futtatása Linux terminálon
- 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.