Vyhledávání na webu

Jak spustit PHP skript jako normální uživatel pomocí Cronu


Cron je výkonný nástroj pro časové plánování úloh v operačních systémech podobných Unixu včetně Linuxu. Spouští se jako démon a lze jej použít k plánování úloh, jako jsou příkazy nebo skripty shellu k provádění záloh, plánování aktualizací a mnoha dalších, které se spouštějí pravidelně a automaticky na pozadí v určitých časech, datech nebo intervalech.

Jedním z omezení cronu je, že předpokládá, že systém bude fungovat navždy; takže je vhodný pro jiné servery než stolní počítače. Kromě toho můžete naplánovat úlohu na daný nebo pozdější čas pomocí příkazů ‚at‘ nebo ‚batch‘: ale úloha se spustí pouze jednou (neopakuje se).

Doporučená četba: Jak naplánovat úlohy pomocí Anacronu v systému Linux

V tomto článku si vysvětlíme, jak umožnit běžnému uživateli systému spouštět nebo spouštět PHP skript prostřednictvím plánovače úloh cron v Linuxu.

Úlohy můžete plánovat pomocí programu crontab (CRON TABle). Každý uživatel může mít svůj vlastní soubor crontab, který se skládá ze šesti polí pro definování úlohy:

  • Minuta – přijímá hodnoty mezi 0-59.
  • Hour – přijímá hodnoty mezi 0-23.
  • Den v měsíci – ukládá hodnoty mezi 1-31.
  • Měsíc v roce – ukládá hodnoty mezi 1–12 nebo lednem–prosinec, můžete použít první tři písmena názvu každého měsíce, tj. leden nebo červen.
  • Den v týdnu – obsahuje hodnoty mezi 0-6 nebo Ne-So. Zde také můžete použít první tři písmena názvu každého dne, tj. Ne nebo St.
  • Příkaz – příkaz, který se má provést.

Chcete-li vytvořit nebo upravit položky ve svém vlastním souboru crontab, zadejte:

crontab -e

A chcete-li zobrazit všechny své položky crontab, zadejte tento příkaz (který jednoduše vytiskne soubor crontab na výstup std):

crontab -l

Pokud jste však správce systému a chcete spustit skript PHP jako jiný uživatel, musíte jej naplánovat v souboru /etc/crontab nebo v souboru crontab uživatele root, který podporuje další pole pro specifikaci uživatelské jméno:

sudo vi /etc/crontab

A naplánujte si spuštění PHP skriptu takto, zadejte uživatelské jméno po sekci časování.

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

Výše uvedený záznam spustí skript /var/www/test_site/cronjobs/backup.php každý den o půlnoci jako uživatel tecmint.

Pokud chcete výše uvedený skript spouštět automaticky každých deset minut, přidejte do souboru crontab následující položku.

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

Ve výše uvedeném příkladu */10 * * * * představuje, kdy se má úloha uskutečnit. První obrázek ukazuje minuty – v tomto scénáři každých "deset" minut. Další čísla ukazují hodinu, den, měsíc a den v týdnu.

Možná si také rádi přečtete následující související články.

  1. Použití skriptování Shell k automatizaci úloh údržby systému Linux
  2. 12 Užitečné použití příkazového řádku PHP Každý uživatel Linuxu musí znát
  3. Jak spouštět kódy PHP v terminálu Linux
  4. 30 Užitečné Linuxové příkazy pro systémové administrátory

To je vše! Doufáme, že vám tento článek bude užitečný. Máte-li jakékoli dotazy nebo další nápady, které byste k tomuto tématu mohli sdílet, použijte níže uvedený formulář pro komentáře.