Tâches programmées : que quelque chose soit exécuté seul
Ce que vous obtenez : une commande qui est exécutée seule de temps en temps - un nettoyage, une copie, le cron de WordPress - sans que vous n’ayez à vous en souvenir.
Avant de commencer
Soyez clair quel ordre vous voulez exécuter et à quelle fréquence. Si l’ordre ne fonctionne pas lorsque vous l’écrivez à la main via SSH, il ne fonctionnera pas non plus programmé : essayez-le d’abord (Connectez-vous à votre site via SSH).
Étapes
Menu Sites → Tâches planifiées.
Nouvelle tâche.
Ordre - ce qui s’exécute. Des chemins complets, toujours : une tâche programmée n’a pas le même environnement que votre terminal.
Quand - cinq cases : minute, heure, jour, mois et jour de la semaine. Le panneau lui-même explique : « » » est « chaque ». Par exemple, /5 * * * * est tous les 5 minutes et 0 2 * * * est tous les jours à 2h00».
Description - mets-le. Dans six mois, tu ne te souviendras plus à quoi il servait.
Créer la tâche.
Les tâches peuvent être pausées et activées depuis leur ligne, sans les supprimer.
Heures qui conviennent à choisir
Ne mettez pas tout à 0h00 ou à 3h00 précises : c’est l’heure à laquelle tout le monde le met. Une minute étrange - 3h17, par exemple - va tout aussi bien et se croise avec moins de choses.
Et ne mettez pas chaque minute ce dont vous n’avez pas besoin. Une tâche lourde chaque minute se frappe elle-même : elle démarre la suivante avant que la précédente ne se termine.
Comment vérifier que tout fonctionne
N’attendez pas demain. Mets les devoirs chaque 5 minutes temporairement (*/5 * * * *), attends qu’il passe une fois, vérifie qu’il a fait son travail - le fichier qu’il crée, la ligne qu’il supprime - et puis mets-lui l’horaire réel.
Problèmes courants
- « L’horaire n’est pas valide »
Le message est : utilisez des chiffres, l’astérisque, des plages comme
1-5ou des étapes comme*/15. C’est presque toujours un espace supplémentaire ou une virgule où il y avait un guillemot. Ce sont cinq cases, ni quatre ni six.- « Écrivez la commande qui doit être exécutée »
Le champ de l’ordre est vide. C’est celui qui dit ce qui est exécuté, pas la description.
- La tâche ne fait rien et à la main cela fonctionne
C’est le cas le plus courant et ce sont presque toujours les chemins. Écrivez des chemins complets pour le programme et pour les fichiers, car une tâche programmée ne démarre pas depuis votre dossier ni ne connaît vos raccourcis.
- Le cron de WordPress ne s’exécute pas si personne ne se connecte au site web
C’est ainsi par conception : le cron de WordPress s’active avec les visites. Si votre site Web a peu de trafic, programmez ici une tâche qui appelle wp-cron.php toutes les 15 minutes et désactivez le cron interne.
- Je reçois des courriels chaque fois qu’il est exécuté
Une tâche programmée envoie par e-mail ce que vous écrivez à l’écran. Si vous ne voulez pas ces notifications, envoyez la sortie dans un fichier de journalisation au lieu de la laisser libre.
- La tâche prend plus de temps que la durée de votre intervalle
Vous finirez par avoir plusieurs copies en conflit simultanément. Espacez l’intervalle, ou faites en sorte que la commande elle-même vérifie s’il y en a déjà une autre en cours avant de commencer.
- Je veux l’arrêter pendant quelques jours sans perdre la configuration
Utilisez « Pause » dans votre ligne. Elle est enregistrée et vous pouvez la réactiver quand vous le souhaitez.
- J’ai besoin que le dernier jour de chaque mois soit exécuté
Il n’y a pas de case pour cela. Programmez-le tous les jours et laissez l’ordre lui-même vérifier si demain est le 1er jour ; c’est la façon habituelle et cela fonctionne tous les mois.