Mar 13, 2026
Ismail
9minutes de lecture
Un cron job est un planificateur basé sur le temps dans les systèmes d’exploitation de type Unix, tels que Linux et macOS. Il automatise les tâches répétitives telles que les sauvegardes, la maintenance du système et l’exécution de scripts.
Les utilisateurs définissent un calendrier et une commande dans un fichier crontab pour que les processus critiques s’exécutent en permanence en arrière-plan sans intervention manuelle.
Pour utiliser cron de manière efficace, vous devez comprendre ses principaux composants :
Un cron job est un utilitaire qui permet aux utilisateurs de Linux et d’Unix d’exécuter automatiquement des commandes ou des scripts à une date et une heure précises. Au lieu d’exécuter une commande manuellement chaque jour ou chaque semaine, vous la planifiez une fois, et le système l’exécute en arrière-plan à l’heure définie.
Cette automatisation est importante pour la gestion des serveurs. Par exemple, un administrateur système qui gère un serveur privé virtuel (VPS) ne peut pas sauvegarder manuellement les bases de données tous les soirs à 3 heures du matin.
Un cron job se charge de cette tâche de manière fiable, améliorant ainsi l’efficacité et réduisant les erreurs humaines.
Les cas d’utilisation les plus courants des cron jobs sont les suivants :
Un cron job est exécuté par le démon cron (crond), un service d’arrière-plan qui fonctionne en continu et exécute les commandes définies dans les fichiers de la table cron (crontab).
Toutes les minutes, le démon vérifie les fichiers de configuration et détermine si des tâches sont programmées pour être exécutées à ce moment-là.
Il est important de faire la distinction entre les deux types de fichiers de configuration :
La syntaxe Crontab définit les tâches planifiées (cron jobs) en utilisant une seule ligne avec cinq champs d’heure et de date suivis de la commande à exécuter. Les opérateurs spéciaux ajoutent de la souplesse lorsque vous définissez des intervalles de temps.
Voici le format de base d’une entrée de crontab :
minute heure jour_du_mois mois jour_de_la_semaine commande_à_exécuter
Les cinq champs de planification définissent le moment où un cron job s’exécute. Le système lit le programme dans l’ordre suivant :
| Champ | Description | Valeurs autorisées |
| Minute | La minute de l’heure à laquelle la commande est exécutée. | 0–59 |
| Heure | L’heure du jour au format 24 heures. | 0–23 |
| Jour du mois | La date spécifique du mois. | 1–31 |
| Mois | Le mois de l’année. | 1-12 ou JAN-DEC |
| Jour de la semaine | Le jour de la semaine. | 0-6, où dimanche = 0 (ou 7 sur certains systèmes) |
Important ! Soyez prudent lorsque vous planifiez des tâches sur plusieurs serveurs situés dans des fuseaux horaires différents. Vérifiez toujours l’heure locale de chaque serveur à l’aide de la commande date pour confirmer que votre configuration est correcte.
Les opérateurs Crontab vous permettent de définir des intervalles et des modèles complexes dans les champs de synchronisation. Cronie et son prédécesseur, Vixie cron, prennent en charge huit opérateurs.
Ces implémentations servent d’outils cron par défaut sur la plupart des distributions Linux, notamment Ubuntu, Debian, RHEL, CentOS et Fedora :
Ces opérateurs ne sont pas pris en charge par le système Linux cron standard. Ils ne fonctionnent qu’avec des programmateurs basés sur Java, tels que Quartz et Spring Boot, ou des services cloud comme AWS EventBridge :
La plupart des implémentations de cron vous permettent de combiner des plages avec des valeurs d’étape. Par exemple, 1-20/2 exécute une tâche toutes les deux minutes pendant les 20 premières minutes.
Les exemples suivants montrent comment appliquer la syntaxe crontab à des tâches réelles.
| Syntaxe de cron | Objectif | Explication |
| 0 0 * * 0 /root/backup.sh | Sauvegarde hebdomadaire | Exécute le script de sauvegarde tous les dimanches à minuit. |
| 0 * * * 1 /root/clearcache.sh | Maintenance du serveur | Vide le cache toutes les heures, mais seulement le lundi. |
| 0 6,18 * * * /root/db-dump.sh | Snapshot de la base de données | Vide la base de données deux fois par jour, à 6 heures du matin et à 6 heures du soir. |
| */10 * * * * /scripts/monitor.sh | Surveillance du temps de fonctionnement | Exécute un script de surveillance toutes les 10 minutes. |
| 0 0 1,15 * * /scripts/payroll.php | Tâche bimensuelle | Exécute un script de paie le 1er et le 15 de chaque mois à minuit. |
| 30 2 * * * /usr/bin/apt update | Mise à jour du système | Vérifie les mises à jour des paquets tous les jours à 2h30 du matin, heure à laquelle le trafic est généralement faible. |
| * * * * /scripts/s1.sh; /scripts/s2.sh | Tâches multiples | Exécute plusieurs commandes dans une seule tâche cron en les séparant par un point-virgule. |
| 0 8 1-7 * * [ “$(date ‘+\%u’)” = “1” ] && /scripts/report.sh | Rapport mensuel | Génère un rapport à 8 heures du matin les jours 1 à 7 du mois, mais n’exécute le script que lorsqu’il s’agit d’un lundi. |
Les chaînes spéciales sont des raccourcis qui commencent par @ et remplacent la syntaxe à cinq champs. Ils améliorent la lisibilité des programmes courants et réduisent le risque d’erreurs de syntaxe.
Voici quelques exemples de cron job utilisant des chaînes spéciales :
@daily /home/user/scripts/daily-cleanup.sh @reboot /usr/local/bin/start-my-app.sh @hourly /var/www/html/monitor.php
Important ! La directive @reboot s’exécute lorsque le démon cron démarre, pas nécessairement lorsque le système démarre. Si vous arrêtez et redémarrez le service cron sans redémarrer le système, les tâches @reboot s’exécutent à nouveau.
Les administrateurs système contrôlent qui peut programmer des cron jobs à l’aide de deux fichiers dans le répertoire /etc/ : cron.allow et cron.deny.
Si aucun fichier n’existe, le comportement par défaut dépend de la distribution :
Vérifiez toujours la documentation de votre distribution ou testez l’accès à cron avec un utilisateur non root.
Par exemple, pour autoriser uniquement un administrateur de base de données (dbadmin) à planifier des tâches, créez un fichier cron.allow et ajoutez-y dbadmin. Cette configuration empêche les autres utilisateurs d’exécuter des tâches d’arrière-plan non autorisées qui consomment des ressources système.
Pour configurer un cron job, ouvrez le terminal de votre machine, confirmez que cron est installé, créez ou modifiez un fichier crontab avec crontab -e, et affichez vos tâches planifiées avec crontab -l.
Certaines tâches peuvent nécessiter des privilèges élevés ou des privilèges de super-utilisateur, ou vous pouvez avoir besoin de placer des scripts dans des répertoires système pour des tâches récurrentes.
Pour gérer les cron jobs, accédez à la ligne de commande de votre serveur. Si vous utilisez un serveur distant ou un VPS, connectez-vous via SSH avec un client tel que PuTTY sous Windows ou Terminal sous macOS ou Linux.
Les utilisateurs de VPS Hostinger peuvent également utiliser la fonction de terminal de navigateur disponible dans le tableau de bord VPS de hPanel.


La plupart des distributions Linux incluent cron par défaut. Pour confirmer qu’il est installé et qu’il fonctionne, vérifiez l’état du service :
systemctl status cron

Si le service est manquant, installez-le avec votre gestionnaire de paquets.
sudo apt update sudo apt install cron
sudo dnf install cronie sudo systemctl enable crond sudo systemctl start crond
La principale façon de planifier des tâches est d’utiliser la commande crontab. Pour créer un nouveau fichier crontab ou modifier un fichier existant, exécutez :
crontab -e
Si votre système n’a pas encore de fichier crontab pour votre utilisateur, cette commande en crée un automatiquement.
Si vous exécutez la commande pour la première fois, le système vous invite à choisir un éditeur de texte, tel que nano ou vim. nano est généralement plus facile pour les débutants.
Une fois le fichier ouvert, ajoutez votre tâche programmée sur une nouvelle ligne.

Avant de programmer un cron job, testez votre script manuellement pour vous assurer qu’il fonctionne. Exécutez le script directement via SSH, par exemple ./backup.sh. S’il ne s’exécute pas manuellement, il ne s’exécutera pas non plus via cron.
Pour afficher les tâches cron programmées pour votre compte utilisateur sans les modifier, utilisez l’indicateur de liste :
crontab -l

Pour afficher les cron jobs d’un utilisateur spécifique, exécutez la commande suivante et remplacez nom d’utilisateur par le nom de compte approprié. Notez que cette opération nécessite les privilèges de l’administrateur (root) ou d’un utilisateur expérimenté.
sudo crontab -u nomutilisateur -l
Certaines commandes, telles que les mises à jour du système ou les modifications des fichiers de configuration du système, requièrent les privilèges de l’administrateur (root). La manière la plus simple de programmer ces tâches est de les ajouter à la crontab de l’utilisateur root :
sudo crontab -e
Toute commande figurant dans la crontab de root s’exécute avec les privilèges de root et ne nécessite aucune configuration supplémentaire.
Important ! Évitez d’exécuter des tâches en tant que root, sauf en cas de nécessité. Si un script ne doit accéder qu’à des fichiers ou des répertoires spécifiques, envisagez d’ajuster la propriété des fichiers à l’aide de la commande chown ou d’utiliser plutôt un compte de service dédié.
Pour les scripts de maintenance générale qui n’ont pas besoin d’être exécutés à une minute précise, vous pouvez les placer dans des répertoires système prédéfinis. Le système exécute automatiquement les scripts exécutables trouvés dans ces emplacements :
Pour s’exécuter correctement, les scripts contenus dans ces répertoires doivent disposer des droits d’exécution et respecter les règles de dénomination des parties d’exécution :
Pour supprimer toutes les cron jobs de l’utilisateur actuel, utilisez l’option remove :
crontab -r
Comme cette commande supprime instantanément toutes les entrées, il est plus sûr de la combiner avec l’option interactive (-i). Cette option demande une confirmation avant de supprimer toutes les tâches planifiées :
crontab -ri

Important ! L’indicateur -i ne fonctionne que lorsqu’il est utilisé avec -r. L’exécution de crontab -i en elle-même n’a aucun effet.
Les cron jobs automatisent les tâches récurrentes en combinant le démon cron (qui s’exécute en continu), le fichier crontab (qui définit le calendrier) et la commande qui exécute la tâche. Cette automatisation est essentielle pour une gestion efficace du système et pour traiter les tâches de routine sans intervention manuelle.
Cependant, les cron jobs ne sont aussi puissantes que les scripts qu’elles exécutent. Le démon cron déclenche des commandes à des heures précises, mais c’est votre script qui fait le travail proprement dit. Et si le script contient des erreurs, la tâche échouera même si le cron job s’exécute avec succès.
Apprendre à écrire des scripts Bash efficaces vous permet d’automatiser des tâches complexes et utiles via cron. Pour commencer, consultez notre tutoriel sur les scripts Bash.
Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.
Commentaires
June 29 2022
Bonjour Ismael, J'ai un petit problème je dois installer cette tache et je ne sais pas comment m'y prendre To Setup Crontab In order to run SuiteCRM Schedulers, edit your web server user's crontab file with this command: sudo crontab -e -u u73959030 ... and add the following line to the crontab file: * * * * * cd /homepages/36/d477259515/htdocs/medium; php -f cron.php > /dev/null 2>&1 You should do this only after the installation is concluded. MErci d avances, Thierry
June 30 2022
Bonjour Thierry, j'espère que vous allez bien. Vous avez besoin de modifier le fichier crontab, chose que vous pouvez faire en utilisant la commande "crontab -e". Une fois que vous y êtes, vous devrez entrer la commande mentionnée pour exécuter SuiteCRM, et il existe une ressource en anglais qui explique le processus étape par étape. Mais Si vous avez besoin d’aide n’hésitez pas à contacter notre équipe de succès client sur cette adresse mail: fr@hostinger.com Merci