C’est quoi un cron job & comment l’utiliser dans GitHub Actions ? Guide complet

19 juin 2025
10 min de perdues
aucun tag
Table des matières
index

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âcheObjectif
Sauvegarder la base de donnéesGarantir la sécurité des données
Nettoyer le dossier /tmpÉviter les disques pleins
Lancer un script PythonRécupérer des données externes régulièrement
Vérifier les liens cassés d’un siteAmé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 :

Terminal window
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érateurSignification
*N’importe quelle valeur
,Liste de valeurs
-Plage de valeurs
/Intervalle
LDernier jour du mois
WJour de semaine le plus proche
#X-ième occurrence d’un jour de la semaine

Exemples :

CommandeDescription
0 0 * * * /script.shTous les jours à minuit
*/5 * * * * /check.shToutes les 5 minutes
0 12 * * 1 /weekly.shChaque lundi à midi
0 0 1 * * /monthly.shPremier jour de chaque mois à minuit
@reboot /startup.shAu 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
@rebootUne seule fois au démarrage
@hourlyToutes les heures (0 * * * *)
@dailyTous les jours à minuit (0 0 * * *)
@weeklyChaque dimanche à minuit (0 0 * * 0)
@monthlyLe premier du mois à minuit (0 0 1 * *)
@yearlyLe 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 :


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 :

CronFréquence
0 0 * * *Tous les jours à minuit
0 12 * * 1Lundi à 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 ou workflow_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


📩 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.