Une tâche cron (cronjob) exécute automatiquement des tâches à des moments planifiés. Dans ce guide, nous expliquons comment configurer des cronjobs dans DirectAdmin.

Qu'est-ce qu'une tâche cron ?

Une tâche cron est une tâche planifiée qui s'exécute automatiquement à des moments définis. Exemples :

  • Sauvegarde quotidienne de la base de données
  • Vidage du cache toutes les heures
  • Génération de rapports hebdomadaires
  • Exécution périodique de scripts

Créer une tâche cron

Étape 1 : Accéder aux Cron Jobs

  1. Connectez-vous à DirectAdmin
  2. Allez dans Cron Jobs dans le menu
  3. Vous voyez un aperçu des cronjobs existants

Étape 2 : Ajouter une nouvelle tâche cron

  1. Cliquez sur Add Cron Job ou Ajouter une tâche cron
  2. Remplissez le timing (voir ci-dessous)
  3. Entrez la commande
  4. Cliquez sur Add ou Ajouter

Configurer le timing

Une tâche cron utilise 5 champs de temps :

Champ Plage Signification
Minute 0-59 À quelle minute
Heure 0-23 À quelle heure
Jour 1-31 Quel jour du mois
Mois 1-12 Quel mois
Jour de semaine 0-7 Quel jour (0=dimanche)

Planifications courantes

Chaque minute :

* * * * *

Chaque heure :

0 * * * *

Chaque jour à 3h00 :

0 3 * * *

Chaque lundi à 9h00 :

0 9 * * 1

Premier jour du mois :

0 0 1 * *

Exemples de commandes

Exécuter WordPress cron

/usr/local/bin/php /home/user/domains/site.fr/public_html/wp-cron.php

Exécuter un script PHP

/usr/local/bin/php /home/user/domains/site.fr/public_html/scripts/backup.php

Sauvegarde de base de données

/usr/bin/mysqldump -u user -p'motdepasse' database > /home/user/backups/db-$(date +\%Y\%m\%d).sql

Récupérer une URL (webhook)

/usr/bin/wget -q -O /dev/null https://site.fr/cron-endpoint

Vider le cache

rm -rf /home/user/domains/site.fr/public_html/cache/*

Gérer les tâches cron

Modifier

  1. Allez dans Cron Jobs
  2. Cliquez sur la tâche cron
  3. Modifiez le timing ou la commande
  4. Cliquez sur Save

Désactiver

  1. Ajoutez # au début de la commande
  2. La tâche cron est ignorée mais pas supprimée

Supprimer

  1. Allez dans Cron Jobs
  2. Sélectionnez la tâche cron
  3. Cliquez sur Delete

Sortie et journalisation

Sortie vers un fichier

0 3 * * * /usr/local/bin/php /path/to/script.php >> /home/user/logs/cron.log 2>&1

Ignorer la sortie

0 3* * * /usr/local/bin/php /path/to/script.php > /dev/null 2>&1

Sortie par e-mail

DirectAdmin peut envoyer la sortie des cronjobs par e-mail. Configurez cela via les paramètres Cron Jobs.

WordPress et les cronjobs

WordPress utilise wp-cron.php pour les tâches planifiées. Pour de meilleures performances :

  1. Désactivez WP-Cron dans wp-config.php :
define('DISABLE_WP_CRON', true);
  1. Ajoutez une vraie tâche cron :
*/15* * * * /usr/local/bin/php /home/user/domains/site.fr/public_html/wp-cron.php

Problèmes courants

La tâche cron ne fonctionne pas

  1. Vérifiez le chemin : Utilisez des chemins complets
  2. Vérifiez les permissions : Le script doit être exécutable
  3. Vérifiez la sortie : Redirigez la sortie vers un fichier log
  4. Testez manuellement : Exécutez la commande via SSH

Mauvaise version PHP

Spécifiez la version PHP :

/usr/local/bin/ea-php81 /path/to/script.php

Commande non trouvée

Utilisez les chemins complets (par ex. /usr/bin/wget au lieu de wget).

Conseils

  1. Testez d'abord manuellement : Exécutez la commande via SSH avant de créer la tâche cron
  2. Utilisez la journalisation : Redirigez la sortie vers un fichier log
  3. Pas trop fréquent : Évitez les cronjobs toutes les minutes sauf si nécessaire
  4. Testez les scripts de backup : Vérifiez que les sauvegardes fonctionnent vraiment
  5. Utilisez des chemins complets : Évite les erreurs command not found

Astuces pour la syntaxe cron

La syntaxe cron peut être déroutante. Voici quelques outils utiles :

Crontab Guru

Utilisez crontab.guru pour vérifier votre timing cron. Entrez votre timing et voyez immédiatement quand la tâche s'exécutera.

Caractères spéciaux

  • * = toute valeur
  • , = liste de valeurs (1,3,5)
  • - = plage (1-5)
  • / = valeurs par étapes (*/15 = toutes les 15)

Besoin d'aide ?

Nous sommes là pour vous ! Si vous rencontrez un problème ou avez des questions, notre équipe de support sera ravie de vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans les quelques heures et sommes heureux de vous accompagner.