Les tâches CRON sont un outil puissant pour automatiser vos opérations : sauvegardes, mises à jour, envois d’e-mails, génération de rapports, etc. Cependant, sur un hébergement mutualisé, leur exécution doit être maîtrisée afin de ne pas surcharger le serveur ni compromettre la stabilité de votre site.
1. Comprendre les limites de l’hébergement mutualisé
Sur un environnement mutualisé, les ressources (processeur, mémoire, disque, etc.) sont partagées entre plusieurs utilisateurs. Un script mal conçu ou trop fréquent peut entraîner un dépassement de ressources et provoquer un ralentissement général du serveur. Pour cette raison, Madagascar Internet surveille l’usage des tâches CRON et peut désactiver temporairement une tâche jugée excessive ou non conforme.
2. Utiliser des intervalles raisonnables
Évitez les exécutions trop fréquentes : une tâche toutes les 5 minutes, par exemple, peut rapidement devenir problématique. Dans la plupart des cas, une exécution toutes les heures ou une fois par jour est largement suffisante.
Exemples de bonnes pratiques :
- Tâche de nettoyage de base de données : une fois par jour, de préférence la nuit ;
- Synchronisation d’un flux RSS ou import XML : toutes les 2 à 4 heures ;
- Envoi d’e-mails planifiés : toutes les heures ou deux fois par jour ;
- Sauvegarde automatique : une fois par jour ou par semaine selon la taille du site.
3. Alléger le code des scripts
Un script exécuté via CRON doit être rapide et optimisé. Quelques recommandations :
- Supprimez les fonctions inutiles et évitez les requêtes SQL répétitives ;
- Utilisez des index sur les tables MySQL pour accélérer les traitements ;
- Fermez correctement les connexions à la base de données à la fin du script ;
- Évitez tout affichage HTML inutile — privilégiez un retour texte ou JSON ;
- Stockez les journaux d’exécution (
logs
) dans un répertoire distinct pour éviter d’encombrerpublic_html
.
4. Utiliser des logs de suivi
L’ajout d’un système de journalisation permet de suivre facilement les erreurs ou les lenteurs d’exécution. Exemple en PHP :
$logfile = '/home/utilisateur/logs/cron.log';
file_put_contents($logfile, date('Y-m-d H:i:s') . " - Script exécuté\n", FILE_APPEND);
Ces journaux peuvent ensuite être consultés pour vérifier le bon fonctionnement de vos automatisations.
5. Tester avant d’automatiser
Avant d’ajouter un script en tâche CRON, exécutez-le manuellement dans votre navigateur ou depuis le terminal SSH (si disponible). Cela vous permettra d’identifier d’éventuelles erreurs ou dépendances manquantes avant de le planifier.
6. Minimiser les dépendances externes
Les scripts exécutés automatiquement ne doivent pas dépendre de services tiers instables (API externes, connexions distantes, etc.). En cas d’indisponibilité du service externe, la tâche CRON pourrait échouer et bloquer d’autres processus. Utilisez des mécanismes de temporisation (timeout) ou de reprise sur erreur pour renforcer la fiabilité.
7. Vérifier les résultats d’exécution
Dans cPanel, vous pouvez configurer l’envoi automatique d’un rapport d’exécution à chaque tâche CRON. Cela vous permet de détecter rapidement un problème ou une anomalie.
8. En cas de doute
Si vous n’êtes pas certain que votre script respecte les bonnes pratiques ou si vous souhaitez une vérification avant activation, n’hésitez pas à contacter notre service de support. Nos techniciens pourront vous conseiller sur la fréquence idéale et les optimisations possibles.