Ricerca nel sito web

Come eseguire lo script PHP come utente normale con Cron


Cron è una potente utility per la pianificazione basata sul tempo dei lavori nei sistemi operativi simili a Unix, incluso Linux. Funziona come un demone e può essere utilizzato per pianificare lavori come comandi o script di shell per eseguire backup, pianificare aggiornamenti e molto altro, che vengono eseguiti periodicamente e automaticamente in background in orari, date o intervalli specifici.

Una limitazione di cron è che presuppone che un sistema funzionerà per sempre; quindi è adatto per server diversi dalle macchine desktop. Inoltre, puoi pianificare un'attività in un determinato momento o in un momento successivo, utilizzando i comandi "at" o "batch": ma l'attività viene eseguita solo una volta (non viene ripetuta).

Lettura consigliata: Come pianificare i lavori utilizzando Anacron su Linux

In questo articolo spiegheremo come consentire a un normale utente di sistema di eseguire o eseguire uno script PHP tramite uno scheduler di processi cron in Linux.

Puoi pianificare i lavori utilizzando il programma crontab (CRON TABle). Ogni utente può avere il proprio file crontab composto da sei campi per definire un lavoro:

  • Minuti: accetta valori compresi tra 0 e 59.
  • Ora: accetta valori compresi tra 0 e 23.
  • Giorno del mese: memorizza i valori compresi tra 1 e 31.
  • Mese dell'anno: memorizza i valori compresi tra 1 e 12 o gennaio-dicembre, puoi utilizzare le prime tre lettere del nome di ogni mese, ovvero gennaio o giugno.
  • Giorno della settimana: contiene valori compresi tra 0 e 6 o domenica-sabato. Anche qui puoi utilizzare le prime tre lettere del nome di ogni giorno, ad esempio domenica o mercoledì.
  • Comando: comando da eseguire.

Per creare o modificare le voci nel tuo file crontab, digita:

crontab -e

E per visualizzare tutte le voci crontab, digita questo comando (che stamperà semplicemente il file crontab sull'output std):

crontab -l

Tuttavia, se sei un amministratore di sistema e desideri eseguire uno script PHP come un altro utente, devi pianificarlo nel file /etc/crontab o nel file crontab dell'utente root che supporta un file aggiuntivo per specificare il nome utente:

sudo vi /etc/crontab

E pianifica l'esecuzione del tuo script PHP in questo modo, specifica il nome utente dopo la sezione dei tempi.

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

La voce sopra esegue lo script /var/www/test_site/cronjobs/backup.php ogni giorno a mezzanotte come utente tecmint.

Se vuoi eseguire automaticamente lo script sopra ogni dieci minuti, aggiungi la seguente voce al file crontab.

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

Nell'esempio sopra, */10 * * * * rappresenta quando dovrebbe avvenire il lavoro. La prima cifra mostra i minuti, in questo scenario ogni "dieci" minuto. Le altre cifre mostrano rispettivamente l'ora, il giorno, il mese e il giorno della settimana.

Potrebbe interessarti anche leggere i seguenti articoli correlati.

  1. Utilizzo dello scripting della shell per automatizzare le attività di manutenzione del sistema Linux
  2. 12 Utilizzo utile della riga di comando PHP che ogni utente Linux deve conoscere
  3. Come eseguire codici PHP nel terminale Linux
  4. 30 comandi Linux utili per gli amministratori di sistema

È tutto! Ci auguriamo che questo articolo ti sia utile. Se hai domande o idee extra da condividere su questo argomento, utilizza il modulo dei commenti qui sotto.