Com executar l'script PHP com a usuari normal amb Cron
Cron és una potent utilitat per a la programació de treballs basada en el temps en sistemes operatius semblants a Unix, inclòs Linux. S'executa com a dimoni i es pot utilitzar per programar tasques com ara ordres o scripts d'intèrpret d'ordres per realitzar còpies de seguretat, programar actualitzacions i moltes més, que s'executen periòdicament i automàticament en segon pla a hores, dates o intervals concrets.
Una limitació de cron és que suposa que un sistema funcionarà per sempre; per tant, és adequat per a servidors que no siguin màquines d'escriptori. A més, podeu programar una tasca a una hora determinada o posterior, utilitzant les ordres a o per lots: però la tasca només s'executa una vegada (no es repeteix).
En aquest article, explicarem com permetre que un usuari del sistema normal executi o executi un script PHP mitjançant un programador de treballs cron a Linux.
Podeu programar treballs mitjançant el programa crontab (CRON TABLE). Cada usuari pot tenir el seu propi fitxer crontab que està format per sis camps per definir una feina:
- Minut: accepta valors entre 0 i 59.
- Hora: accepta valors entre 0 i 23.
- Dia del mes: emmagatzema valors entre l'1 i el 31.
- Mes de l'any: emmagatzema els valors entre l'1 i el 12 o gener-desembre; podeu utilitzar les tres primeres lletres del nom de cada mes, és a dir, gener o juny.
- Dia de la setmana: conté valors entre 0 i 6 o Dg-Ds. Aquí també podeu utilitzar les tres primeres lletres del nom de cada dia, és a dir, Dg o Dj.
- Ordre: ordre que cal executar.
Per crear o editar entrades al vostre propi fitxer crontab, escriviu:
$ crontab -e
I per veure totes les entrades de crontab, escriviu aquesta ordre (que simplement imprimirà el fitxer crontab a la sortida std):
$ crontab -l
Tanmateix, si sou administrador del sistema i voleu executar un script PHP com un altre usuari, haureu de programar-lo al fitxer /etc/crontab o al fitxer crontab de l'usuari root que admet un fitxer addicional per especificar el nom d'usuari:
$ sudo vi /etc/crontab
I programeu el vostre script PHP perquè s'executi així, especifiqueu el nom d'usuari després de la secció de temps.
0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php
L'entrada anterior executa l'script /var/www/test_site/cronjobs/backup.php cada dia a mitjanit com a usuari tecmint.
Si voleu executar l'script anterior automàticament cada deu minuts, afegiu l'entrada següent al fitxer crontab.
*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php
A l'exemple anterior, el */10 * * * *
representa quan s'ha de fer la feina. La primera figura mostra els minuts, en aquest escenari, cada \deu\
minut. Les altres xifres mostren, respectivament, l'hora, el dia, el mes i el dia de la setmana.
També us agradaria llegir aquests articles relacionats següents.
- Ús de Shell Scripting per automatitzar les tasques de manteniment del sistema Linux
- 12 ús útil de la línia d'ordres de PHP que tots els usuaris de Linux han de conèixer
- Com executar codis PHP al terminal Linux
- 30 ordres útils de Linux per a administradors de sistemes
Això és tot! Esperem que aquest article us sigui útil. Si teniu cap pregunta o idees addicionals per compartir sobre aquest tema, utilitzeu el formulari de comentaris a continuació.