Veux-tu te réveiller à 2 heures du matin, vider les logs, nettoyer les fichiers temporaires et exécuter les mêmes tâches de maintenance serveur chaque jour ?
Moi non plus. Ni les millions d’administrateurs de serveurs qui gèrent les 14+ milliards de serveurs à travers le monde.
Alors, arrête cette folie — je t’en supplie !
Les Cron Job sont conçus pour cela.
Parce que, sincèrement, rien ne dit “administrateur système compétent” comme être profondément endormi et prendre le crédit pour le travail que tes scripts gèrent pour toi. Cela s’appelle « utiliser tes ressources. »
Avec des Cron Job :
- Ton patron pense que tu es dévoué.
- Ton serveur sait que tu es paresseux.
- Tu as cette belle relation symbiotique appelée automatisation.
Aujourd’hui, tu vas devenir un pro des Cron Job.
D’abord, Qu’est-Ce Qu’un Cron Job ? (La Version Pas Ennuyeuse)
Un Cron Job est essentiellement un planificateur de tâches intégré aux systèmes d’exploitation de type Unix (Linux, macOS) qui te permet d’exécuter commandes Linux automatiquement à des moments et dates spécifiés.
Considère-le comme une liste de tâches pour ton serveur, mais… celle-ci est réellement accomplie.
Cron en Métaphores
Si ton infrastructure serveur était un restaurant :
- Le cron daemon est le gestionnaire qui vérifie le programme quotidien.
- Le crontab est le tableau d’attribution du personnel.
- Chaque Cron Job est une tâche assignée à un membre du personnel spécifique à un moment précis.
- La commande est le travail réellement effectué.
Lorsque l’horloge indique l’heure prévue, le responsable tape sur l’épaule de l’employé assigné et dit : “C’est l’heure du spectacle !”
L’employé exécute ensuite sa tâche sans question ni plainte.
Si seulement nous, les humains, étions aussi fiables, le monde serait un endroit différent !
L’Anatomie D’un Cron Job
Chaque Cron Job se compose de deux parties principales :
- Quand exécuter (le programme)
- Quoi exécuter (la commande ou le script à exécuter)
Le programme utilise une syntaxe spécifique qui peut sembler être de la magie informatique à première vue :

Mais regarde de plus près et cela commencera à avoir du sens.
Chaque astérisque peut être remplacé par des valeurs spécifiques, des plages ou des intervalles pour créer précisément l’horaire dont tu as besoin.
Pourquoi Les Administrateurs Serveur Adorent Les Cron Jobs
Il y a une raison pour laquelle les administrateurs de serveurs (moi y compris) ont les yeux embués lorsqu’ils parlent de Cron Jobs.
Ils transforment la gestion de serveur en quelque chose qui ressemble (au moins vaguement) à un équilibre entre vie professionnelle et vie privée.
1. Ils Te Font Gagner Du Temps
Rappelle-toi le temps ? Cette chose que tu n’as jamais en assez ? Les Cron Jobs te le rendent. Tu les programmes, tu les oublies, et tu ne les regardes pratiquement jamais.
(Eh bien, jusqu’à ce qu’ils cassent ou que tu aies besoin de changer le programme.)
2. Ils Maintiennent La Cohérence
Les humains sont inconstants. Nous oublions des choses. Nous faisons des fautes de frappe. Nous nous laissons distraire par des vidéos de chats. Les Cron Jobs effectuent la tâche exacte, de la même manière, à chaque fois — sans exception.
3. Ton Serveur Ne Dort Jamais
Avec les Cron Job, la maintenance essentielle a lieu 24/7/365, que tu sois réveillé, endormi ou sur une plage en train de siroter des margaritas.
4. Logs d’erreurs > Mémoire Humaine
Lorsque tu effectues des tâches manuellement, peux-tu te souvenir exactement de ce que tu as fait et exactement quand tu l’as fait ? Probablement pas.
Mais les Cron Job peuvent être configurés pour enregistrer leurs activités, créant ainsi un historique de toutes les actions automatisées pour le dépannage et la vérification.
5. Ils Sont Conçus Pour L’évolutivité
À mesure que ton infrastructure grandit, la gestion manuelle de tout devient exponentiellement plus difficile. Les Cron Jobs s’échelonnent sans effort.
Cela signifie que le même travail peut être exécuté sur plusieurs serveurs sans nécessiter de temps supplémentaire de ta part.
Configuration Des Cron Jobs : Un Guide Étape Par Étape
Assez de théorie ! Tu dois mettre les mains dans le cambouis avec la configuration pratique d’un Cron Job.
Étape 1 : Confirmer l’installation de Cron
La plupart des systèmes semblables à Unix ont Cron pré-installé. Pour vérifier s’il est disponible à l’utilisation, tape ce commande ci-dessous :
crontab -e Selon l’éditeur par défaut, la commande ouvrira le crontab dans ton éditeur spécifique. Si tu n’as jamais utilisé crontab auparavant, il pourra te demander de définir l’éditeur par défaut.

Si le terminal répond par commande introuvable, tu devras installer cron avec les commandes ci-dessous :
- Sur Ubuntu/Debian :
sudo apt update && sudo apt install cron - Sur CentOS/RHEL :
sudo yum install cronie
Une fois terminé, démarre et active le service Cron:
sudo systemctl start cron
sudo systemctl enable cron Avec les commandes start et enable , nous démarrons le service cron pour exécuter les Cron Job.
Et avec activer, nous nous assurons que même si ton serveur redémarre, le service Cron redémarre automatiquement avec lui, et aucun Cron Job n’est manqué.
Note de Nerd : CentOS nomme le service Cron “crond”, donc tu devras démarrer et activer le service crond.
Étape 2 : Comprendre le Crontab
D’accord, ouvre le crontab ou la table des Cron Jobs pour commencer à ajouter tes tâches planifiées.
Chaque utilisateur sur le système peut avoir son propre fichier Cron Job. De plus, il existe un Cron Job à l’échelle du système.
Pour éditer ton Cron Job personnel :
crontab -e Cela ouvre ton fichier Cron Job dans ton éditeur de texte par défaut. Si c’est ta première fois, choisis l’éditeur nano (option 1) car il est le plus simple pour les débutants.
Pour les crontabs à l’échelle du système, exécute la commande ci-dessous avec les privilèges sudo:
sudo nano /etc/crontab 
Étape 3 : Syntaxe Du Cron Job
Nous avons déjà parlé de la structure de base dans l’anatomie des Cron Job auparavant.
Mais créer un Cron Job peut être parfois déroutant. Crontab.guru t’aide à visualiser les horaires des tâches au fur et à mesure que tu les saisis.

Maintenant, passons à la partie amusante — écrire notre premier Cron Job. Examinons quelques horaires communs de Cron Job :
Toutes les minutes :
* * * * /path/to/command
Toutes les heures à la minute 0 :
0 * * * * /path/to/command
Tous les jours à minuit :
0 0 * * * /path/to/command
Tous les lundis à 3 heures du matin :
0 3 * * 1 /path/to/command
Toutes les 15 minutes :
*/15 * * * * /path/to/command
Premier jour de chaque mois à 6h30 :
30 6 1 * * /chemin/vers/commande
Étape 4 : Création de Ton Premier Cron Job
Passons à la création d’un Cron Job de sauvegarde simple pour ton serveur.
La tâche ci-dessous crée une sauvegarde de ton site web tous les jours à 2 heures du matin.
0 2 * * * tar -czf /path/to/backup/website-backup-$(date +%Y%m%d).tar.gz /path/to/your/website
Il générera une archive tar compressée de ton répertoire de site web avec la date actuelle comme nom de fichier.
Étape 5 : Sauvegarder et Vérifier
Maintenant, quitte l’éditeur. Dans nano, appuie sur Ctrl+X puis sur Y.
Pour consulter ta crontab actuelle et vérifier que ton Cron Job a été ajouté :
crontab -l 
C’est fait ! Ton premier Cron Job est maintenant configuré et s’exécutera automatiquement à l’heure prévue.
Exemples Pratiques de Cron Job pour les Gestionnaires de Site Web
Maintenant que tu connais les bases, explorons quelques Cron Jobs pratiques qui peuvent te faciliter la vie en tant que gestionnaire de site web.
Sauvegardes De Base De Données
Sauvegarde de la base de données MySQL (quotidienne à 1h du matin) :
0 1 * * * mysqldump -u username -p'password' database_name | gzip > /path/to/backups/db-backup-$(date +%Y%m%d).sql.gz Rotation Et Nettoyage Des Logs
Nettoyer les logs de plus de 7 jours (hebdomadairement le dimanche) :
0 0 * * 0 find /path/to/logs -type f -name "*.log" -mtime +7 -delete Surveillance Des Performances Du Site Web
Vérifie chaque 5 minutes le temps de réponse du site web :
*/5 * * * * curl -o /dev/null -s -w "%{http_code} %{time_total}sn" example.com >> /path/to/logs/website-performance.log Mises À Jour De Contenu
Récupérer et mettre à jour le contenu dynamique (toutes les heures) :
0 * * * * /path/to/content-update-script.sh Rapports Email
Envoie un résumé hebdomadaire du trafic tous les lundis à 9 heures :
0 9 * * 1 /path/to/generate-and-email-report.sh Analyses De Sécurité
Exécute un script de scan de sécurité chaque nuit à 3 heures du matin :
0 3 * * * /path/to/security-scan.sh Bonnes Pratiques Pour Cron Job : À Faire Et À Ne Pas Faire
Pour t’assurer que tes Cron Jobs fonctionnent bien et ne causent pas plus de problèmes qu’ils n’en résolvent, voici quelques bonnes pratiques importantes.
Les Incontournables
- Utilise Toujours Les Chemins Complets Vers Les Commandes Et Les Fichiers : Ton environnement cron ne possède pas le même PATH que ton shell utilisateur, donc
“/usr/bin/python”est préférable à python seul. - Redirige La Sortie Pour Éviter Le Spam Par Email : Par défaut, cron envoie toute sortie vers l’utilisateur. Ajoute
>/dev/null 2>&1pour supprimer la sortie ou la rediriger vers un fichier journal à la place. - Teste Tes Commandes Avant De Les Planifier : Exécute ta commande manuellement pour t’assurer qu’elle fonctionne comme prévu.
Ajoute des commentaires pour expliquer chaque tâche — Le toi futur remerciera le toi présent pour avoir documenté ce que chaque Cron Job fait et pourquoi.
Sauvegarde quotidienne de la base de données - Ajoutée par Jane le 2023-05-15
0 1 * * * /chemin/vers/le-script-de-sauvegarde.sh Envisage d’utiliser des fichiers de verrouillage pour les tâches de longue durée afin d’empêcher le démarrage d’une nouvelle instance si la précédente est encore en cours.
0 * * * * flock -n /tmp/script.lock /path/to/your/script.sh Les Interdits
- Ne planifie pas de tâches gourmandes en ressources pendant les heures de pointe : Ta sauvegarde n’a pas besoin d’être exécutée à midi, quand ton site est le plus fréquenté.
- Ne pas utiliser de chemins relatifs :
“./script.sh”échouera presque certainement dans le crontab. - N’oublie pas les variables d’environnement : Le Cron Job ne charge pas ton .bashrc ou ton .profile. Définis toutes les variables nécessaires dans le crontab ou le script.
- Ne néglige pas la journalisation : Sans une bonne journalisation, le débogage des tâches Cron Job peut être un cauchemar.
- Ne pas en faire trop : Trop de tâches Cron Job fréquentes peuvent surcharger ton serveur. Sois stratégique.
Que Faire Lorsque Les Cron Jobs Ne Fonctionnent Pas
La seule fois où tu dois revenir sur un Cron Job, c’est lorsqu’il échoue — et lorsqu’il échoue, voici comment diagnostiquer et résoudre les problèmes courants.
Problème Courant #1 : Le Job Ne S’exécute Pas
Symptômes : Ta tâche planifiée ne semble pas s’exécuter du tout.
Possibles solutions :
- Vérifie que le démon cron est en marche : Le statut “systemctl” de cron
- Vérifie la syntaxe de ton crontab : Utilise un outil comme crontab.guru
- Assure-toi des chemins complets vers les exécutables : Quelle commande pour trouver les chemins complets
- Vérifie les permissions des fichiers : Les scripts doivent être exécutables (chmod +x script.sh)
Problème Courant #2 : Le Job S’exécute Mais Échoue
Symptômes : Le job s’exécute mais ne termine pas sa tâche avec succès.
Possibles solutions :
- Redirige la sortie vers un fichier log pour voir les erreurs :
* * * * /path/to/script.sh > /path/to/script.log 2>&1 - Teste la commande manuellement avec le même environnement
- Vérifie les dépendances qui pourraient manquer dans l’environnement Cron Job
Problème Courant #3 : Inondation D’Emails
Symptômes : Ta boîte de réception est inondée d’emails de sortie de Cron Job.
Pistes de réparation :
- Rediriger la sortie vers null :
>/dev/null 2>&1 - Rediriger vers un fichier journal :
>/path/to/logfile.log 2>&1
Seulement envoyer un email en cas d’erreurs :
* * * * /path/to/script.sh >/dev/null || echo "Échec du script" | mail -s "Échec du Cron" you@example.com Problème Courant #4 : Problèmes De Timing
Symptômes : Les tâches s’exécutent à des moments ou à des fréquences inattendus.
Pistes de correction :
- Vérifie le réglage de ton fuseau horaire — date par rapport aux attentes du Cron Job
- Sois conscient des changements d’heure d’été qui pourraient affecter le timing
- Utilise des plages horaires explicites au lieu de relatives lorsque la précision est importante
Techniques Avancées De Rédaction De Cron Job
Nous avons examiné les bases, et tu es à présent presque un pro des Cron Job. Mais cette section te fera aller un peu plus loin.
Utilisation De Chaînes Spéciales
Tu n’as pas toujours besoin d’écrire des Cron Job avec ces signes astérisques. Il existe des chaînes spéciales qui te permettent de configurer des Cron Job assez facilement.
- @yearly ou @annually : Exécuté une fois par an (0 0 1 1 *)
- @monthly : Exécuté une fois par mois (0 0 1 * *)
- @weekly : Exécuté une fois par semaine (0 0 * * 0)
- @daily ou @midnight : Exécuté une fois par jour (0 0 * * *)
- @hourly : Exécuté une fois par heure (0 * * * *)
- @reboot : Exécuté une fois au démarrage
Par exemple, si tu souhaites exécuter quelque chose quotidiennement, écris simplement la commande ci-dessous :
@daily /path/to/daily-backup.sh Variables d’Environnement dans le Cron Job
Pour éviter de répéter une chaîne encore et encore dans tes tâches Cron (par exemple, un chemin spécifique, ou ton email administratif), configure des variables d’environnement au début de ton crontab.
Tu peux ensuite réutiliser les variables comme nécessaire dans tes scripts ou commandes.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAILTO=admin@example.com
# Ce job enverra les erreurs à admin@example.com
0 2 * * * /path/to/mailing_script.sh Si nous utilisons la variable d’environnement MAILTO dans notre mailing_script.sh, le script enverra automatiquement un email à l’adresse email correcte.
Avec cela, changer l’email administratif nécessitera seulement de modifier la valeur de la variable MAILTO, au lieu de faire des modifications dans tous les scripts.
Exécuter Des Tâches en Tant Qu’Utilisateurs Différents
Si tu as un accès superutilisateur, tu peux modifier le crontab d’un autre utilisateur :
sudo crontab -u nom_utilisateur -e Utilisation d’Anacron pour les machines qui ne sont pas toujours allumées
Contrairement à cron, anacron garantit que les tâches s’exécutent même si l’ordinateur était éteint pendant l’heure prévue :
sudo apt install anacron Modifie /etc/anacrontab pour ajouter des tâches qui s’exécuteront lorsque le système sera de nouveau en ligne.
Enchaînement de Tâches Pour des Flux de Travail Complexes
Exécute des tâches en séquence :
0 1 * * * /path/to/first-script.sh && /path/to/second-script.sh Surveillance des Cron Jobs
Pour une gestion sérieuse du serveur, envisage des outils comme Cronitor qui fournissent une surveillance et des alertes pour tes Cron Job.
0 * * * * cronitor exec check-12345 -- /path/to/your/script.sh Parlons Coûts
Les Cron Job ne peuvent pas exister isolément. Ils nécessitent un serveur et un service fonctionnant sur un serveur que tu dois gérer.
Maintenant, si tu lis cet article, il est fort probable que tu possèdes un serveur pour ton site web ou ton application.
En fait, si tu héberges avec DreamHost VPS ou tout fournisseur d’hébergement basé sur Linux, tu as déjà tout ce qu’il te faut pour commencer à automatiser la gestion de tes tâches de serveur.
Si ce n’est pas le cas, un VPS à 10 $/mois est tout ce dont tu aurais besoin, surtout au début.
Pour ceux qui utilisent déjà un VPS DreamHost, le processus ne pourrait être plus simple :
- Connecte-toi à ton serveur via SSH
- Exécute crontab -e pour modifier ta table de Cron Job personnelle
- Ajoute tes tâches planifiées
- Enregistre, et laisse l’automatisation commencer !
SSH
Le protocole Secure Shell (SSH) est un protocole réseau cryptographique pour exécuter des services de manière sécurisée à travers un réseau non sécurisé. Il est principalement utilisé pour l’exécution de commandes en ligne et les connexions à distance.
Lire la suiteC’est ça. L’infrastructure pour laquelle tu paies déjà devient soudainement plus précieuse, plus efficace.
Le Nouvel Autopilote De Ton Serveur
Félicitations !
Tu es passé du travail manuel à la magie de l’automatisation. Avec les Cron Jobs qui gèrent la maintenance routinière, les sauvegardes et la surveillance, tu peux te concentrer sur le développement de ton site web et de ton entreprise plutôt que de surveiller le serveur.
Et souviens-toi, ce sera un processus. L’automatisation deviendra plus sophistiquée au fur et à mesure que tu ajouteras de plus en plus de tâches.
Mais pour l’instant, commence par quelques Cron Job essentiels, surveille leur performance, et élargis progressivement ton automatisation à mesure que tu te familiarises avec le processus.
Vas-y et fais cette sieste, car tu viens de te sauver une tonne de temps.

