Découvrez comment automatiser vos tâches répétitives sur serveur sans vous arracher les cheveux. Un guide pour développeurs, freelances et petites entreprises.
🔍 TLDR – Le résumé rapide
- Un cron job permet de planifier automatiquement des scripts ou commandes sur un serveur Unix/Linux.
- Il est très utilisé pour des tâches comme la sauvegarde de site, le nettoyage du cache, la vérification de liens cassés, etc.
- Simple à configurer mais dangereux si mal utilisé.
- Idéal pour les développeurs, admins systèmes et freelances qui veulent gagner du temps.
- Gratuit, native à Linux, mais limité en gestion réseau/distribuée.
💬 C’est quoi un cron job ?
Un cron job est une tâche programmée sur un système Unix/Linux grâce à un outil appelé cron. En gros, c’est ton assistant virtuel qui exécute des scripts à heure fixe, tous les jours, toutes les semaines, ou même toutes les minutes si besoin.
Tu peux imaginer que chaque nuit à 3h du matin, ton serveur lance une sauvegarde complète de ton site, vide le cache, ou fait tourner un script Python qui récupère des données depuis une API externe.
🧠 Side Note : Cron vient du mot grec chronos, qui signifie “temps”.
✨ Pourquoi utiliser un cron job ?
Parce que personne n’a envie de faire la même chose 100 fois par mois !
Avec un cron job :
- Tu économises du temps sur les tâches répétitives.
- Tu réduis les risques d’erreur humaine.
- Tu maintiens ton serveur propre et optimisé (cache, logs, sauvegardes…).
- Tu automatises tout ce qui peut être automatisé.
Exemples concrets :
Tâche | Objectif |
---|---|
Sauvegarder la base de données | Garantir la sécurité des données |
Nettoyer le dossier /tmp | Éviter les disques pleins |
Lancer un script Python | Récupérer des données externes régulièrement |
Vérifier les liens cassés d’un site | Améliorer le SEO |
⚙️ Comment fonctionne un cron job ?
Le daemon cron est un processus en arrière-plan qui surveille constamment les fichiers de configuration (crontab
) pour savoir quand lancer des commandes.
Chaque utilisateur a sa propre crontab (table de tâches), et les administrateurs peuvent aussi modifier celle du système.
🛠️ Technique Simplifiée : Quand tu modifies ta crontab via
crontab -e
, tu édites un fichier texte contenant une liste de commandes avec leur horaire. Cron lit ce fichier et exécute les scripts à l’heure indiquée.
Structure d’une ligne de crontab :
* * * * * commande à exécuter| | | | |Minute Heure Jour Mois JourSemaine
Exemple :
0 0 * * * /scripts/backup.sh
👉 Ce cron job lance le script backup.sh
tous les jours à minuit.
📋 Syntaxe de base & exemples concrets
Opérateurs disponibles :
Opérateur | Signification |
---|---|
* | N’importe quelle valeur |
, | Liste de valeurs |
- | Plage de valeurs |
/ | Intervalle |
L | Dernier jour du mois |
W | Jour de semaine le plus proche |
# | X-ième occurrence d’un jour de la semaine |
Exemples :
Commande | Description |
---|---|
0 0 * * * /script.sh | Tous les jours à minuit |
*/5 * * * * /check.sh | Toutes les 5 minutes |
0 12 * * 1 /weekly.sh | Chaque lundi à midi |
0 0 1 * * /monthly.sh | Premier jour de chaque mois à minuit |
@reboot /startup.sh | Au démarrage du serveur |
🧪 Les chaînes spéciales utiles
Pour simplifier encore plus, cron propose des chaînes prédéfinies :
Chaîne | Équivalent |
---|---|
@reboot | Une seule fois au démarrage |
@hourly | Toutes les heures (0 * * * * ) |
@daily | Tous les jours à minuit (0 0 * * * ) |
@weekly | Chaque dimanche à minuit (0 0 * * 0 ) |
@monthly | Le premier du mois à minuit (0 0 1 * * ) |
@yearly | Le 1er janvier à minuit (0 0 1 1 * ) |
🛡️ Meilleures pratiques & erreurs courantes
✅ Bonnes pratiques :
- Teste toujours ton script manuellement avant de le mettre dans cron.
- Utilise des chemins absolus dans tes commandes.
- Redirige la sortie vers un fichier log pour suivre l’exécution.
- Configure le bon fuseau horaire sur ton serveur.
❌ Erreurs à éviter :
- Ne pas tester ton script → il ne marchera pas.
- Oublier de redémarrer le service cron après modification.
- Confondre minute/heure/jour/mois dans la syntaxe.
- Mettre trop de tâches en simultané → saturation du serveur.
🧰 Outils utiles pour générer sa commande cron
Pas sûr de toi ? Voici quelques outils simples :
- crontab.guru – Le meilleur générateur de cron jobs.
- crontab-generator.org – Très intuitif pour les débutants.
crontab -e
– Ton ami dans le terminal.
Absolument ! Voici une mise à jour de la section concernée, qui montre comment utiliser les cron jobs dans GitHub Actions — ce qui est très pertinent puisque tu veux automatiser gratuitement tes tâches sans dépendre d’un serveur ou d’un système Unix.
🔄 Comment utiliser un cron job dans GitHub Actions
GitHub Actions permet d’utiliser des cron jobs directement dans le cloud, sans avoir besoin d’un serveur. C’est super pratique pour automatiser des scripts simples ou complexes sans se soucier de l’infrastructure.
💡 En résumé : Tu peux planifier l’exécution d’une GitHub Action avec une syntaxe de cron directement dans ton fichier YAML.
🔧 Où ça se passe ?
Dans ton dépôt GitHub, tu as un dossier .github/workflows/
. Dedans, tu trouves (ou crées) un fichier mon-automatisation.yml
.
C’est là que tu vas définir ta tâche planifiée grâce à schedule
et à la syntaxe cron.
📄 Exemple de fichier YAML avec un cron job
name: "Tâche quotidienne"
on: schedule: - cron: '0 0 * * *' # Tous les jours à minuit (UTC)
jobs: daily-task: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v3
- name: Afficher un message run: echo "Automatisation lancée à $(date)"
👉 Ce workflow affiche simplement un message chaque jour à minuit UTC.
⏰ Notez que GitHub utilise l’heure UTC par défaut. Soyez vigilants si vous voulez que cela tourne à une heure locale spécifique.
🕒 Syntaxe du cron sur GitHub Actions
La structure est identique au cron classique :
minute heure jour mois jour-semaine
Exemples :
Cron | Fréquence |
---|---|
0 0 * * * | Tous les jours à minuit |
0 12 * * 1 | Lundi à midi |
*/5 * * * * | Toutes les 5 minutes |
0 0 1 * * | Le premier de chaque mois à minuit |
✅ Avantages de cette approche
- Pas besoin de serveur → tout est géré par GitHub
- Intégration facile avec des scripts Python, Node.js, Shell, etc.
- Gratuit jusqu’à 20 workflows simultanés et 6h CPU par job
- Logs visibles directement sur GitHub
- Versioning automatique via Git
🚫 Limites à connaître
- Temps minimum entre deux exécutions : une minute
- Ne peut pas tourner en continu ou en temps réel
- Peu adapté aux processus longs (> 6h)
- Aucun état persistant entre les exécutions (sauf stockage externe)
🛠️ Astuce : Tester sans attendre
Si tu veux tester ton workflow sans attendre le prochain passage du cron :
- Déclenche manuellement depuis l’onglet Actions sur GitHub
- Ou utilise un événement temporaire comme
push
ouworkflow_dispatch
on: push: branches: - main workflow_dispatch:
Souhaitez-vous que je vous fournisse aussi un template complet et prêt à copier-coller pour différents cas d’usage ?
Ou même un outil pour convertir un cron Linux vers un cron GitHub Actions ?
🧾 FAQ – Questions fréquentes sur les cron jobs
Quel est le rôle d’un cron job ?
Automatiser des scripts à intervalles réguliers pour économiser du temps.
Quelle est la limite de fréquence ?
La fréquence minimale est 1 minute. Impossible de descendre en dessous.
Est-ce que je peux planifier une tâche unique ?
Non. Pour une tâche unique, utilise plutôt at
.
Comment vérifier si mon cron job s’exécute ?
Regarde les logs avec systemctl status cron
ou journalctl
.
Où sont stockés les fichiers crontab ?
Dans /var/spool/cron/crontabs/
(dépend de la distro).
📣 Articles recommandés
- Comment j’automatise gratuitement mes tâches avec GitHub Actions (sans Zapier)
- [Créer une infolettre efficace pour attirer des leads qualifiés]
- [GitHub Secrets : Comment sécuriser ses tokens d’API gratuitement]
📩 Formulaire d’infolettre (à embedder)
Ajoutez ce formulaire à la fin de l’article pour capter des emails :
<form action="https://yourmailinglist.com/subscribe" method="POST"> <h3>Inscris-toi à ma newsletter tech</h3> <p>Reçois des tutos, templates et astuces tech gratuits chaque vendredi.</p> <input type="email" name="email" placeholder="ton@email.com" required /> <button type="submit">S'abonner</button></form>
🎥 Vidéos à créer pour promouvoir cet article
Idée 1 : TikTok/Shorts/Reels
Titre : “Automatisez votre site en 1min avec un cron job”
Contenu : Montre ton terminal, tu écris une ligne de cron job, tu sauvegardes, puis tu montres que la tâche s’exécute toute seule.
Idée 2 : YouTube (vidéo longue)
Titre : “Tout savoir sur les cron jobs : Tutoriel complet pour débutants”
Structure : Intro + explication théorique + démo live + FAQ + call to action.
Idée 3 : LinkedIn Post
Texte :
Saviez-vous qu’un seul cron job peut vous faire économiser 5h/semaine ?
Je vous explique comment j’ai automatisé mes sauvegardes quotidiennes en 3 lignes de code.
🔗 Article complet dans ma bio.
Idée 4 : Twitter/X Thread
Thème : “Thread – Apprends à automatiser tes scripts avec cron en 5 étapes.”
📢 Conclusion
Un cron job, c’est une bête de somme pour ceux qui passent du temps sur un serveur.
Simple, gratuit, efficace — tant qu’on le configure correctement.
Que tu sois freelance, développeur full-stack ou entrepreneur solo, ajouter cette compétence à ton arsenal te fera gagner du temps, de l’argent et surtout… de la santé mentale.