Cron

Configurer les taches crons de votre hébergement web Ethersys

Utilisation de la crontab

Pour ajouter une tâche planifiée, aussi appelée tâche cron, il faut se connecter à son hébergement via SSH (tutoriel) et utiliser la commande :

crontab -e

Un éditeur de texte va se lancer et afficher le fichier contenant les tâches cron. Par défaut il contient uniquement une ligne de commentaire de la forme suivante :

# m h dom mon dow command

L’ajout d’une tache se fait alors en entrant une nouvelle ligne préfixé par 5 éléments correspondant dans l’ordre aux réglages :

  • des minutes
  • des heures
  • du jour du mois
  • du mois
  • du jour de la semaine

Et suivi par la commande à exécuter par exemple pour lancer le cron intégré d’un Magento toutes les 5mn on va saisir :

*/5 * * * * /bin/sh ~/www/cron.sh

Ou pour lancer la réindexation d’un Magento tous les premier du mois à 3h18 du matin on va utiliser :

18 3 1 * * /usr/bin/php -f ~/www/shell/indexer.php reindexall

Enfin, une fois la modification effectuée l’on peut vérifier la présence des tâches cron dans le fichier en l’affichant avec la commande

crontab -l

Pour plus d’explication il existe une page dédiée sur Wikipedia## Utilisation de la crontab

Pour ajouter une tâche planifiée, aussi appelée tâche cron, il faut se connecter à son hébergement via SSH (tutoriel) et utiliser la commande :

crontab -e

Un éditeur de texte va se lancer et afficher le fichier contenant les tâches cron. Par défaut il contient uniquement une ligne de commentaire de la forme suivante :

# m h dom mon dow command

L’ajout d’une tache se fait alors en entrant une nouvelle ligne préfixé par 5 éléments correspondant dans l’ordre aux réglages :

  • des minutes
  • des heures
  • du jour du mois
  • du mois
  • du jour de la semaine

Et suivi par la commande à exécuter par exemple pour lancer le cron intégré d’un Magento toutes les 5mn on va saisir :

*/5 * * * * /bin/sh ~/www/cron.sh

Ou pour lancer la réindexation d’un Magento tous les premier du mois à 3h18 du matin on va utiliser :

18 3 1 * * /usr/bin/php -f ~/www/shell/indexer.php reindexall

Enfin, une fois la modification effectuée l’on peut vérifier la présence des tâches cron dans le fichier en l’affichant avec la commande

crontab -l

Pour plus d’explication il existe une page dédiée sur Wikipedia

Version de PHP utilisée (et autres langages)

Attention, la crontab utilise la version des langages définis dans votre environnement global (Menu “Environnement”).

Pour forcer une autre version, il convient de préfixer votre commande par PHP_VERSION=8.4 (par exemple pour PHP 8.4).

Utilisation du php.ini du site visé

Si vous souhaitez que la crontab utilise la configuration php.ini d’un site en particulier, il faut :

  • trouver le nom du php.ini : passer votre souris sur la roue crantée (‘Modifier") du site concerné : vous trouverez dans l’url cible le numéro du site.

Lien “modifier”

Numéro de site

  • préfixer la commande : après la précision de la version de langage, par PHPRC=/home/[VOTRE COMTE]/admin/config/php/php-[No-du-PHP.INI].ini

Exemple : 50 3 * * * PHP_VERSION=8.2 PHPRC=/home/[COMPTE]/admin/config/php/php-226485.ini php /home/[COMPTE]/deployment/preprod/magento2/bin/magento cache:clean

Utilisation de l’assistant sur le panel

Sur votre panel Ethersys, Rubrique “Avancé”, vous avez un menu “Tâches planifiées”.

Cela vous propose une interface qui peut s’avérer plus pratique pour paramétrer vos tâches CRON.

Attention : les tâches créés ici ne sont pas visibles en SSH dans la crontab et vice-versa.