Recherche de site Web

Comment exécuter un script PHP en tant qu’utilisateur normal avec cron


Cron est un utilitaire puissant pour la planification basée sur le temps des tâches dans les systèmes d’exploitation de type Unix, y compris Linux. Il s’exécute comme un démon et peut être utilisé pour planifier des tâches telles que des commandes ou des scripts shell pour effectuer des sauvegardes, planifier des mises à jour et bien d’autres, qui s’exécutent périodiquement et automatiquement en arrière-plan à des heures, des dates ou des intervalles spécifiques.

L’une des limites de cron est qu’il suppose qu’un système fonctionnera éternellement ; Il convient donc aux serveurs autres que les ordinateurs de bureau. De plus, vous pouvez planifier une tâche à une heure donnée ou plus tard, à l’aide des commandes 'at' ou 'batch' : mais la tâche n’est exécutée qu’une seule fois (elle n’est pas répétée).

Lecture suggérée : Comment planifier des tâches à l’aide d’Anacron sur Linux

Dans cet article, nous allons expliquer comment permettre à un utilisateur système normal d’exécuter ou d’exécuter un script PHP via un planificateur de tâches cron sous Linux.

Vous pouvez planifier des tâches à l’aide du programme crontab (CRON TABle). Chaque utilisateur peut avoir son propre fichier crontab qui est composé de six champs pour définir une tâche :

  • Minute – accepte des valeurs comprises entre 0 et 59.
  • Heure : accepte les valeurs comprises entre 0 et 23.
  • Jour du mois : stocke les valeurs comprises entre 1 et 31.
  • Mois de l’année – stocke les valeurs entre 1 et 12 ou janvier-décembre, vous pouvez utiliser les trois premières lettres du nom de chaque mois, c’est-à-dire janvier ou juin.
  • Jour de la semaine - a des valeurs comprises entre 0 et 6 ou du dimanche au samedi, ici aussi, vous pouvez utiliser les trois premières lettres du nom de chaque jour, c’est-à-dire le dimanche ou le mercredi.
  • Commande – commande à exécuter.

Pour créer ou modifier des entrées dans votre propre fichier crontab, tapez :

$ crontab -e

Et pour afficher toutes vos entrées crontab, tapez cette commande (qui affichera simplement le fichier crontab sur la sortie std) :

$ crontab -l

Cependant, si vous êtes un administrateur système et que vous souhaitez exécuter un script PHP en tant qu’un autre utilisateur, vous devez le programmer dans le fichier /etc/crontab ou le fichier crontab de l’utilisateur racine qui prennent en charge un champ supplémentaire pour spécifier le nom d’utilisateur :

$ sudo vi /etc/crontab

Et planifiez l’exécution de votre script PHP comme ceci, spécifiez le nom d’utilisateur après la section de timing.

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

L’entrée ci-dessus exécute le script /var/www/test_site/cronjobs/backup.php tous les jours à minuit en tant qu’utilisateur tecmint.

Si vous souhaitez exécuter le script ci-dessus automatiquement toutes les dix minutes, ajoutez l’entrée suivante au fichier crontab.

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

Dans l’exemple ci-dessus, le */10 * * * * * indique le moment où le travail doit avoir lieu. Le premier chiffre montre les minutes – dans ce scénario, toutes les « dix » minutes. Les autres chiffres indiquent, respectivement, l’heure, le jour, le mois et le jour de la semaine.

Vous pouvez également lire les articles connexes suivants.

  1. Utilisation de scripts shell pour automatiser les tâches de maintenance du système Linux
  2. 12 Utilisation utile de la ligne de commande PHP que chaque utilisateur Linux doit connaître
  3. Comment exécuter des codes PHP dans un terminal Linux
  4. 30 commandes Linux utiles pour les administrateurs système

C’est tout! Nous espérons que cet article vous sera utile. Si vous avez des questions ou des idées supplémentaires à partager à ce sujet, utilisez le formulaire de commentaire ci-dessous.

Articles connexes: