Une tâche cron est une tâche d'arrière-plan automatisée planifiée pour se produire à un moment précis. Quelques exemples incluent la vérification des mises à jour, des sauvegardes ou l'envoi de notifications de rappel. Les tâches cron sont importantes car elles automatisent les tâches qui réduisent les opérations manuelles pour améliorer la sécurité, les performances et les fonctionnalités d'un administrateur et de tous les utilisateurs du serveur ou du site Web.
Vous pouvez utiliser Cron Job de cPanel fonctionnalité pour exécuter des commandes Unix et/ou automatiser l'exécution de vos scripts PHP, Perl ou Python. Pour créer une tâche cron, vous devez d'abord vous connecter à votre cPanel sous "Cron Jobs " puis sélectionnez " Standard " ou " Avancé .” Vous pouvez également spécifier une adresse e-mail que le démon Cron utilisera pour envoyer les résultats de la tâche.
Suivez les étapes ci-dessous pour savoir comment configurer une tâche cron dans cPanel et l'exécuter manuellement.
- Comment accéder à la page des tâches Cron dans cPanel
- Configuration des e-mails pour les notifications et les rapports
- Comment configurer une tâche Cron
- Configuration d'une tâche Cron dans cPanel
- Comment configurer une tâche Cron en ligne de commande
- Spécification de la commande à exécuter
- Utilisation de la chaîne d'agent utilisateur
- Exécuter une tâche Cron manuellement
- Dépannage d'une tâche Cron
Découvrez les plans d'hébergement de serveurs partagés d'InMotion pour des solutions économiques adaptées à vos besoins rapides en matière de site Web !
Comment accéder à la page des tâches Cron dans cPanel
- Connectez-vous au cPanel.
- Faites défiler le cPanel pour trouver la tâche Cron icône. Clique dessus.
- Vous verrez alors la page Tâches Cron . La moitié supérieure de la page ressemble à ceci :
Une fois que vous êtes sur la page Tâches Cron vous pouvez ajouter des tâches cron, ajouter un e-mail pour les rapports et les notifications des tâches cron, et gérer les tâches cron existantes au bas de la page où elles sont répertoriées.
Configuration des e-mails pour les notifications et les rapports
Afin de recevoir des notifications par e-mail pour l'exécution et la sortie d'une tâche cron, vous devrez ajouter une adresse e-mail. L'e-mail cron dans cPanel par défaut à l'utilisateur du compte mais peut être spécifié à une autre adresse e-mail dans cette section de la page de travail cron.
Dans certains cas, vous pouvez ne pas besoin d'avoir un e-mail produit pour chaque résultat de sortie de tâche cron. Par exemple, vous pouvez exécuter une tâche cron qui s'exécute 20 fois par jour. L'envoi d'un e-mail à chaque exécution du cron peut devenir fastidieux et ajouter une charge inutile à votre serveur.
Si vous souhaitez que la tâche cron n'ait pas de sortie, vous devez ajouter ce qui suit à la commande de la tâche cron :
mycommand >/dev/null 2>&1
Vous remplaceriez "mycommand" par la commande de votre tâche cron.
Comment configurer une nouvelle tâche Cron
La création d'une tâche cron peut être effectuée en ligne de commande ou via l'interface cPanel. Nous allons vous montrer les deux méthodes ci-dessous.
Comment configurer une tâche Cron dans cPanel
La configuration d'une tâche cron dans cPanel est simplifiée en fournissant des champs pour deux parties principales de chaque tâche cron :la planification et la commande.
La section de planification de la tâche cron est également fournie avec une liste déroulante pour les paramètres couramment utilisés.
La partie la plus complexe de la création de la tâche cron consiste à ajouter la commande ou le script. Vous pouvez facilement causer des problèmes avec votre site Web ou le serveur si vous ne savez pas comment configurer correctement une tâche cron. Si vous suivez les instructions d'un tiers, soyez prudent et suivez attentivement les instructions. Pour plus de sécurité, assurez-vous de faire une sauvegarde de votre site avant d'ajouter et d'exécuter une tâche cron.
Si vous ne savez pas comment utiliser une commande ou écrire un script, il est recommandé de parler ou de travailler avec un programmeur expérimenté ou un gestionnaire de site Web pour configurer votre tâche cron.
Lorsque vous faites défiler la page Cron Job, vous verrez l'option Ajouter une nouvelle tâche Cron . Voici une capture d'écran de l'interface fournie par cPanel pour mettre en place une tâche cron :
- Planifiez l'exécution de votre script.
- Ajoutez votre commande ou votre script à exécuter dans la ligne de commande.
- Cliquez sur Ajouter une nouvelle tâche Cron pour enregistrer vos modifications.
Une fois le script enregistré, vous le verrez répertorié dans un tableau plus bas sur la page.
Comment configurer une tâche Cron en ligne de commande
Tout d'abord, vous devrez configurer le Crontab. C'est la section qui détermine quand la tâche cron s'exécutera. La commande est :
[minute][hour][day][month][weekday][command]
Ceci est un exemple d'ajout d'une tâche cron dans le cPanel. Notez que le crontab est l'heure et la date appliquées à la commande ou au script.
Voici à quoi ressemblerait l'entrée dans la page cron cPanel sur une ligne d'un fichier texte :
41 04***/my/script -v
Ce code signifie que le script ("/my/script -v") s'exécutera :
- Tous les jours de la semaine (y compris les jours de semaine)
- Tous les mois de l'année
- À 4 h 41
Le jour de la semaine est tous les jours de la semaine, y compris les week-ends. Un "jour de la semaine" signifie littéralement tous les jours de la semaine :du lundi au dimanche.
- Paramètres communs —Ce menu déroulant comprend des intervalles de temps couramment utilisés. Si vous en sélectionnez une, le système configurera toutes les minutes , Heure , Jour , Mois , et Jour de la semaine des zones de texte pour vous.
- Minutes — Le nombre de minutes entre chaque exécution de la tâche cron, ou la minute de chaque heure pendant laquelle vous souhaitez exécuter la tâche cron.
- Heure — Le nombre d'heures entre chaque exécution de la tâche cron, ou l'heure de chaque jour à laquelle vous souhaitez exécuter la tâche cron.
- Jour — Le nombre de jours entre chaque exécution de la tâche cron, ou le jour du mois où vous souhaitez exécuter la tâche cron.
- Mois — Le nombre de mois entre chaque exécution de la tâche cron, ou le mois de l'année au cours duquel vous souhaitez exécuter la tâche cron.
- Jour de semaine — Les jours de la semaine où vous souhaitez exécuter la tâche cron.
Lors du réglage de l'heure, il est également bon de régler le cron pour qu'il s'exécute à une minute impaire, au lieu du haut ou du bas de l'heure. L'exemple ci-dessus s'exécute à 4:41.
La suggestion d'utiliser une minute impaire est due au fait que de nombreuses tâches cron sont toujours configurées pour s'exécuter à des heures communes. Cela signifie qu'un serveur peut subir une perte soudaine de performances car il essaie de traiter de nombreuses tâches cron à ces moments communs. Configurer votre tâche cron pour qu'elle démarre à une heure impaire aidera à améliorer les performances du serveur.
Cependant, si vous êtes sur un serveur dédié et que vous savez quelles tâches cron sont en cours d'exécution, vous pouvez utiliser ces temps communs puisque toutes les ressources système seront dédiées uniquement à votre site ou application.
Spécification de la commande à exécuter
Lorsque vous utilisez une commande pour une tâche cron, elle comporte deux parties :
[program to execute (perl/pyth/php)][switches][script]
Le programme à exécuter spécifiera le type de script que vous exécutez et sera soit :
- php
- Python
Vous aurez besoin de savoir où votre script a été enregistré. Il sera appelé sur son chemin direct car il se trouve sur notre serveur, il ressemblera donc à /home/userna5/public_html/path/to/scrip t, avec "userna5 ” étant votre nom d'utilisateur.
Les scripts Perl/CGI doivent se trouver dans votre cgi-bin, avec des permissions de 755. Veuillez lire notre article sur les autorisations de fichiers pour plus d'informations. Voici des exemples de scripts de tâche cron exécutant des scripts PHP, Python ou Perl/CGI :
- Pour exécuter un script PHP : php -q /home/usern5/public_html/scripts/testrun.php
- Pour les scripts Python : python /home/usern5/public_html/path/to/script
- Pour les scripts Perl/CGI : /home/usern5/public_html/cgi-bin/votrescript.pl
Vous pouvez utiliser n'importe quel type d'éditeur de texte lorsque vous créez vos scripts de tâche cron. Assurez-vous de savoir où vous l'avez enregistré (avec les autorisations appropriées) comme indiqué ci-dessus.
Utilisation de la chaîne d'agent utilisateur
La définition générale d'un agent utilisateur du World Wide Web Consortium (W3.org) est :
Un agent utilisateur est tout logiciel qui récupère et présente du contenu Web pour les utilisateurs finaux ou est mis en œuvre à l'aide de technologies Web . Les agents utilisateurs incluent les navigateurs Web, les lecteurs multimédias et les plug-ins qui facilitent la récupération, le rendu et l'interaction avec le contenu Web.
L'utilisation d'une chaîne d'agent utilisateur est considérée comme facultative, mais elle est couverte dans cet article pour les développeurs qui souhaitent peut-être encore envisager son utilisation.
Le wget La commande est désactivée sur tous les serveurs partagés pour des raisons de sécurité. La plupart des scripts exécutés via wget peut être utilisé avec le lynx ou boucler commande. Les nouvelles règles mod_security qui ont été appliquées avec les dernières mises à jour de PHP empêcheront lynx et curl de fonctionner si un agent utilisateur n'est pas défini. Pour définir l'agent utilisateur, vous pouvez utiliser la commande suivante :
- curl –user-agent YOUR_STRING (URL)
- lynx -dump -useragent=VOTRE_CHAÎNE (URL)
Votre commande de travail cron complète ressemblerait à ceci :
/usr/bin/curl --user-agent cPanel-Cron https://example.com/cron.php
Exécuter une tâche Cron manuellement
Dans certains cas, il peut être nécessaire d'exécuter une tâche cron de manière non planifiée et manuelle. Cela est souvent fait pour le dépannage de scripts ou de tests, ou dans certains cas, il peut simplement être nécessaire d'exécuter immédiatement le script pour sa fonctionnalité. Par exemple, vous pouvez avoir un script qui efface la mise en cache, mais vous souhaitez qu'il s'exécute immédiatement au lieu d'attendre l'heure prévue.
ATTENTION :soyez prudent lorsque vous exécutez une tâche cron manuellement. Comprenez ce que fait le script avant de l'exécuter aveuglément. Les scripts peuvent varier de la sauvegarde de votre site à la suppression du cache. Cela peut affecter ce que vos spectateurs voient, le fonctionnement de votre site Web et les performances de votre serveur.
Lorsque vous exécutez une tâche cron manuellement, vous êtes soit immédiatement exécutant la ligne de commande dans un terminal ou vous exécutez un script qui devrait être accessible via un site Web.
Une tâche cron est exécutée en fonction d'un calendrier. L'exécuter manuellement supprime la contrainte de temps puisque vous l'exécutez immédiatement.
Exemple d'exécution manuelle d'une tâche cron PHP :
Notez que vous aurez besoin de savoir où se trouve ce script. Vous pouvez également exécuter un script PHP directement depuis le navigateur tant que vous avez l'URL pour l'exécuter.
Par exemple, vous pouvez ouvrir n'importe quel navigateur et utiliser une URL comme celle-ci :
https://example.com/scripts/mydailyscript.php
L'exécution d'une commande Linux qui n'est PAS dans un script serait simplement exécutée directement dans un terminal. Vous devrez accéder au site via le terminal avec les droits d'accès appropriés. Sinon, l'exécution manuelle d'un script est la même que celle que vous voyez ci-dessus pour le script PHP.
Dépannage des tâches Cron
En règle générale, vous pouvez savoir si votre tâche cron s'est exécutée en fonction de la notification ou de la sortie que vous avez reçue lors de l'exécution d'une tâche cron. Si vous voulez être sûr que la tâche cron a été exécutée, vérifiez les journaux. Pour plus d'informations, veuillez consulter :Comment vérifier si une tâche Cron a été exécutée (journal Crontab).
Toutes nos félicitations! Maintenant que vous savez comment configurer une tâche cron et l'exécuter dans cPanel, vous pouvez ajouter des tâches répétitives que vous souhaitez contrôler selon votre propre calendrier.
Faites passer votre entreprise au niveau supérieur ! Rencontrez vos clients en ligne avec les solutions d'hébergement partagé d'InMotion.