Configurer des tâches cron dans DirectAdmin : guide
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
- Connectez-vous à DirectAdmin
- Allez dans Cron Jobs dans le menu
- Vous voyez un aperçu des cronjobs existants
Étape 2 : Ajouter une nouvelle tâche cron
- Cliquez sur Add Cron Job ou Ajouter une tâche cron
- Remplissez le timing (voir ci-dessous)
- Entrez la commande
- 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 et 7 = dimanche) |
Planifications courantes
Chaque minute :
* * * * *
Chaque heure :
0 * * * *
Toutes les 15 minutes :
*/15* * * *
Chaque jour à 3h00 :
0 3 * * *
Chaque lundi à 9h00 :
0 9 * * 1
Chaque jour ouvrable à 7h30 :
30 7 * * 1-5
Premier jour du mois :
0 0 1 * *
Exemples de commandes
Exécuter WordPress cron
/usr/local/bin/php /home/user/domains/example.fr/public_html/wp-cron.php
Exécuter un script PHP
/usr/local/bin/php /home/user/domains/example.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://example.fr/cron-endpoint
Vider le cache
rm -rf /home/user/domains/example.fr/public_html/cache/*
Gérer les tâches cron
Modifier
- Allez dans Cron Jobs
- Cliquez sur la tâche cron
- Modifiez le timing ou la commande
- Cliquez sur Save
Désactiver
- Ajoutez
#au début de la commande - La tâche cron est ignorée mais pas supprimée
Supprimer
- Allez dans Cron Jobs
- Sélectionnez la tâche cron
- 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
>> fichier ajoute la sortie à un fichier log, > /dev/null la supprime et 2>&1 redirige les messages d'erreur au même endroit. Attention : dans DirectAdmin, vous saisissez l'heure dans les cinq champs de temps ; dans le champ Command, vous ne mettez que la partie à partir de /usr/local/bin/php. Vérifiez le fichier log après l'heure d'exécution prévue.
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
Par défaut, WordPress utilise WP-Cron (wp-cron.php), qui n'exécute les tâches planifiées que lorsqu'un visiteur consulte votre site. Avec peu de trafic, ce n'est pas fiable ; avec beaucoup de trafic, c'est une charge inutile. Remplacez-le par une vraie tâche cron :
- Désactivez WP-Cron dans
wp-config.php:
define('DISABLE_WP_CRON', true);
- Ajoutez une vraie tâche cron qui s'exécute toutes les 15 minutes (Minute
*/15, autres champs*) avec cette commande :
/usr/local/bin/php /home/user/domains/example.fr/public_html/wp-cron.php > /dev/null 2>&1
Problèmes courants
La tâche cron ne fonctionne pas
- Vérifiez le chemin: Utilisez des chemins complets
- Vérifiez les permissions: Si vous appelez un script PHP via
/usr/local/bin/php, le droit de lecture suffit (644). Seul un script shell exécuté directement a besoin de 755 - Vérifiez la sortie: Redirigez la sortie vers un fichier log
- Testez manuellement: Exécutez la commande via SSH
Mauvaise version PHP
Spécifiez la version PHP :
/usr/local/php81/bin/php /path/to/script.php
Le chemin /usr/local/bin/php utilise la version PHP par défaut du serveur. Sur DirectAdmin, les autres versions PHP se trouvent dans /usr/local/phpXX/bin/php, par exemple /usr/local/php81/bin/php pour PHP 8.1. Utilisez la même version que votre site.
Commande non trouvée
Utilisez les chemins complets (par ex. /usr/bin/wget au lieu de wget).
Conseils
- Testez d'abord manuellement: Exécutez la commande via SSH avant de créer la tâche cron
- Utilisez la journalisation: Redirigez la sortie vers un fichier log
- Pas trop fréquent: Évitez les cronjobs toutes les minutes sauf si nécessaire
- Testez les scripts de backup: Vérifiez que les sauvegardes fonctionnent vraiment
- Utilisez des chemins complets: Évite les erreurs command not found
- Répartissez les tâches lourdes: Planifiez les tâches cron lourdes à des moments différents pour éviter de surcharger le serveur
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.
Vous cherchez un hébergement WordPress ? Découvrez notre offre.
0 sur 0 ont trouvé cet article utile