📑 Table des matières

Cron + IA : automatiser des tâches intelligentes 24/7

Automatisation 🟡 Intermédiaire ⏱️ 14 min de lecture 📅 2026-02-24

Vous utilisez déjà cron sur votre serveur Linux pour lancer des scripts à heures fixes ? Imaginez maintenant un système qui ne se contente pas d'exécuter aveuglément une commande, mais qui réfléchit, analyse le contexte et décide intelligemment de la meilleure action à entreprendre. C'est exactement ce que permet la combinaison de cron et d'une IA autonome.

Dans ce guide, nous allons explorer en profondeur comment passer du cron classique au cron intelligent propulsé par l'IA, en utilisant OpenClaw comme plateforme d'orchestration. Vous découvrirez les différences fondamentales entre les deux approches, des exemples concrets d'automatisation, et un guide pas à pas pour configurer vos propres tâches intelligentes fonctionnant 24h/24, 7j/7.


🔄 Cron classique vs Cron IA : deux philosophies

Le cron traditionnel : fiable mais aveugle

Le cron Unix existe depuis les années 1970. Son principe est simple : exécuter une commande à un moment précis, selon une expression temporelle (la fameuse syntaxe * * * * *).

# Exemple classique : backup tous les jours à 3h du matin
0 3 * * * /usr/local/bin/backup.sh

# Vérification de l'espace disque toutes les heures
0 * * * * /usr/local/bin/check_disk.sh

Le problème ? Ce script s'exécute quoi qu'il arrive. Même si le backup est inutile (aucune modification), même si l'espace disque est parfait. Il ne sait pas adapter son comportement au contexte.

Le cron IA : contextuel et intelligent

Avec un agent IA, le paradigme change complètement. L'agent reçoit une instruction, mais il raisonne avant d'agir :

  • Il vérifie si l'action est nécessaire
  • Il adapte sa réponse au contexte
  • Il peut escalader (alerter) ou ignorer selon la gravité
  • Il produit des résumés lisibles pour l'humain
Critère Cron classique Cron IA (OpenClaw)
Exécution Aveugle, toujours Contextuelle, intelligente
Réponse Code retour (0/1) Analyse en langage naturel
Adaptation Aucune Ajuste selon le contexte
Escalade Script if/else manuel Décision autonome
Coût Quasi nul Tokens LLM (optimisable)
Maintenance Scripts à maintenir Prompts en langage naturel
Monitoring Logs bruts Résumés intelligents
Multi-tâches 1 cron = 1 script 1 heartbeat = N vérifications

🧠 Les deux mécanismes d'OpenClaw : Heartbeat et Cron

OpenClaw propose deux mécanismes complémentaires pour l'automatisation temporelle. Comprendre leurs différences est essentiel pour bien architecturer vos automatisations.

Le Heartbeat : le pouls de votre agent

Le heartbeat est un tour d'agent périodique dans la session principale. Par défaut, il se déclenche toutes les 30 minutes. L'agent "se réveille", consulte sa checklist (HEARTBEAT.md), et décide quoi faire.

// Configuration dans openclaw config
{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",
        target: "last",
        activeHours: { start: "08:00", end: "22:00" },
      }
    }
  }
}

Points forts du heartbeat :

  • Batch multiple checks : un seul tour d'agent peut vérifier l'email, le calendrier, les notifications et l'état d'un projet
  • Contextuel : l'agent a accès à tout l'historique de la session principale
  • Économique : un seul appel API au lieu de 5 cron jobs séparés
  • Suppression intelligente : si rien ne nécessite attention, l'agent répond HEARTBEAT_OK et aucun message n'est délivré

Exemple de HEARTBEAT.md :

# Checklist Heartbeat

- Scanner les emails urgents
- Vérifier le calendrier pour les 2 prochaines heures
- Si une tâche de fond est terminée, résumer les résultats
- Vérifier l'état des services monitorés
- Si inactif depuis 8h+, faire un check-in léger

Le Cron OpenClaw : précision et isolation

Le cron OpenClaw est un scheduler intégré au Gateway. Il persiste les jobs, réveille l'agent au bon moment, et peut optionnellement délivrer le résultat dans un chat.

Deux modes d'exécution :

  1. Session principale (main) : injecte un événement système traité au prochain heartbeat
  2. Session isolée (isolated) : lance un tour d'agent dédié dans cron:<jobId>, sans polluer l'historique principal
# Job isolé récurrent avec livraison sur Telegram
openclaw cron add \
  --name "Rapport quotidien" \
  --cron "0 8 * * *" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Génère le rapport quotidien : état des services, métriques clés, alertes." \
  --announce \
  --channel telegram \
  --to "-100123456789"

Tableau de décision : Heartbeat ou Cron ?

Cas d'usage Recommandé Pourquoi
Vérifier les emails toutes les 30 min Heartbeat Se combine avec d'autres checks
Rapport quotidien à 9h pile Cron (isolated) Timing exact nécessaire
Monitoring calendrier Heartbeat Adapté au check périodique
Analyse hebdomadaire approfondie Cron (isolated) Tâche autonome, peut utiliser un modèle différent
Rappel dans 20 minutes Cron (main, --at) One-shot avec timing précis
Nettoyage de fichiers temporaires Heartbeat Piggyback sur le cycle existant
Génération de contenu nocturne Cron (isolated) Isolation + modèle dédié

🛠️ Configurer ses premiers Cron Jobs IA

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • OpenClaw installé et le Gateway en fonctionnement
  • Un provider LLM configuré (Claude, GPT, ou via OpenRouter)
  • Un canal de communication configuré (Telegram, WhatsApp, Discord...)

Job 1 : Rappel one-shot

Le plus simple. Vous voulez un rappel dans 20 minutes :

openclaw cron add \
  --name "Rappel réunion" \
  --at "20m" \
  --session main \
  --system-event "Rappel : la réunion commence dans 10 minutes. Prépare un résumé des points à aborder." \
  --wake now \
  --delete-after-run

L'agent recevra cet événement système, et comme il tourne dans la session principale, il aura tout le contexte de vos conversations récentes pour préparer le résumé.

Job 2 : Briefing matinal récurrent

Chaque matin à 7h30, un rapport complet est généré et envoyé sur Telegram :

openclaw cron add \
  --name "Briefing matinal" \
  --cron "30 7 * * *" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Génère le briefing matinal : météo Paris, résumé des emails importants, événements du calendrier aujourd'hui, actualités tech majeures." \
  --model "opus" \
  --announce \
  --channel telegram \
  --to "-100123456789"

Pourquoi isolated ? Ce job n'a pas besoin du contexte de la session principale. Il effectue une tâche autonome et délivre le résultat directement.

Pourquoi --model opus ? Pour un briefing de qualité, on peut utiliser un modèle plus puissant. Les jobs isolés permettent de choisir le modèle indépendamment de la session principale.

Job 3 : Monitoring intelligent

openclaw cron add \
  --name "Health check services" \
  --cron "*/15 * * * *" \
  --tz "UTC" \
  --session isolated \
  --message "Vérifie l'état des services : ping les endpoints listés dans /root/services.json. Si un service est down, analyse les logs récents et propose un diagnostic. Si tout est OK, réponds HEARTBEAT_OK." \
  --announce \
  --channel telegram \
  --to "-100123456789"

Ici, l'agent vérifie toutes les 15 minutes l'état de vos services. Mais contrairement à un script de monitoring classique, il analyse les logs en cas de problème et propose un diagnostic en langage naturel.

Job 4 : Revue hebdomadaire avec thinking élevé

openclaw cron add \
  --name "Revue hebdomadaire" \
  --cron "0 9 * * 1" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Analyse approfondie de la semaine : progression des projets, métriques clés, points de blocage, recommandations pour la semaine à venir." \
  --model "opus" \
  --thinking high \
  --announce \
  --channel telegram \
  --to "-100123456789"

Le flag --thinking high active le raisonnement étendu du modèle, idéal pour des analyses complexes qui demandent de la réflexion.


📋 Exemples concrets d'automatisation

Monitoring de site web intelligent

Au lieu d'un simple ping, l'agent IA peut :

  1. Vérifier le temps de réponse
  2. Comparer avec l'historique
  3. Détecter des tendances (dégradation progressive)
  4. Analyser le contenu de la page (erreurs visuelles, contenu manquant)
  5. Suggérer des actions correctives
openclaw cron add \
  --name "Monitor site" \
  --cron "*/30 * * * *" \
  --session isolated \
  --message "Vérifie https://mon-site.fr : temps de réponse, code HTTP, contenu. Compare avec les dernières vérifications. Alerte uniquement si anomalie détectée." \
  --announce \
  --channel telegram \
  --to "-100123456789"

Génération de contenu planifiée

Chaque nuit, l'agent prépare du contenu à publier :

openclaw cron add \
  --name "Night content worker" \
  --cron "0 2 * * *" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Consulte la base de données des articles en attente. Pour le prochain article en statut draft, rédige le contenu complet en suivant le brief. Mets à jour le statut en need_review_human." \
  --model "opus" \
  --announce \
  --channel telegram \
  --to "-100123456789"

Pour aller plus loin sur ce sujet, consultez notre guide Générer du contenu automatiquement avec l'IA.

Backups intelligents

Pour aller plus loin sur ce sujet, consultez notre guide Créer des vidéos virales avec l'IA de A à Z.

Au lieu de sauvegarder aveuglément chaque nuit :

openclaw cron add \
  --name "Smart backup" \
  --cron "0 3 * * *" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Vérifie les fichiers modifiés depuis le dernier backup. Si des changements significatifs existent, lance le backup incrémental. Vérifie l'intégrité du backup. Nettoie les backups de plus de 30 jours. Résume les actions effectuées." \
  --announce

L'agent décide si un backup est nécessaire, vérifie son intégrité, et gère la rotation — le tout en un seul prompt.

Veille concurrentielle automatique

openclaw cron add \
  --name "Veille concurrence" \
  --cron "0 10 * * 1,4" \
  --tz "Europe/Paris" \
  --session isolated \
  --message "Effectue une veille concurrentielle : visite les sites des concurrents listés dans /root/concurrents.json, détecte les changements de prix, nouvelles features, articles de blog. Résume les points importants." \
  --model "opus" \
  --announce \
  --channel telegram \
  --to "-100123456789"

⚡ Combiner Heartbeat et Cron : la configuration optimale

La configuration la plus efficace utilise les deux mécanismes ensemble :

Architecture recommandée

Heartbeat (toutes les 30 min)
├── Scan emails urgents
├── Vérification calendrier (2h)
├── État des tâches en cours
└── Check-in léger si inactif

Cron isolé (timings précis)
├── 07:30 → Briefing matinal (Opus)
├── 02:00 → Génération contenu nocturne
├── */15  → Monitoring services
├── Lundi 09:00 → Revue hebdomadaire (Opus + thinking high)
└── One-shots → Rappels et deadlines

Configuration complète

{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",
        target: "telegram",
        to: "-100123456789",
        activeHours: {
          start: "07:00",
          end: "23:00",
          timezone: "Europe/Paris"
        }
      }
    }
  },
  cron: {
    enabled: true,
    maxConcurrentRuns: 1
  }
}

Le HEARTBEAT.md associé :

# Heartbeat - Checks réguliers

- Emails urgents : scanner et alerter si critique
- Calendrier : événements dans les 2 prochaines heures
- Tâches en cours : progression et blocages
- Si rien d'urgent → HEARTBEAT_OK

💰 Optimisation des coûts

Les cron jobs IA consomment des tokens. Voici comment optimiser :

Stratégie Économie estimée Comment
Batching via heartbeat ~70% 1 heartbeat au lieu de 5 cron jobs
HEARTBEAT_OK suppression ~30% Pas de livraison si rien à signaler
Modèle adapté par job ~50% Flash pour le monitoring, Opus pour l'analyse
Active hours ~30-50% Pas de heartbeat la nuit
target: "none" ~10% Traitement interne uniquement
Prompts courts ~20% Moins de tokens en entrée

Exemple de configuration économique

# Monitoring fréquent → modèle économique
openclaw cron add \
  --name "Quick check" \
  --cron "*/15 * * * *" \
  --session isolated \
  --message "Ping services. OK ou alerte." \
  --model "flash"

# Analyse approfondie → modèle premium, moins fréquent
openclaw cron add \
  --name "Deep analysis" \
  --cron "0 9 * * 1" \
  --session isolated \
  --message "Analyse complète de la semaine..." \
  --model "opus" \
  --thinking high

🔧 Gestion et debugging

Commandes CLI essentielles

# Lister tous les jobs
openclaw cron list

# Voir l'historique d'exécution d'un job
openclaw cron runs --id <jobId> --limit 50

# Forcer l'exécution immédiate
openclaw cron run <jobId>

# Modifier un job existant
openclaw cron edit <jobId> --message "Nouveau prompt"

# Désactiver temporairement
openclaw cron edit <jobId> --enabled false

# Supprimer un job
openclaw cron remove <jobId>

Retry et gestion des erreurs

OpenClaw gère automatiquement les erreurs avec un backoff exponentiel :

  • 1ère erreur → retry après 30 secondes
  • 2ème erreur → retry après 1 minute
  • 3ème erreur → retry après 5 minutes
  • 4ème erreur → retry après 15 minutes
  • 5ème erreur+ → retry après 60 minutes

Le backoff se réinitialise automatiquement après un run réussi.

Stagger automatique

Pour les jobs récurrents planifiés en début d'heure (comme 0 * * * *), OpenClaw applique un décalage déterministe de 0 à 5 minutes pour éviter les pics de charge. Vous pouvez contrôler ce comportement :

# Forcer un timing exact (pas de stagger)
openclaw cron edit <jobId> --exact

# Définir un stagger personnalisé
openclaw cron edit <jobId> --stagger 30s

🔒 Bonnes pratiques et sécurité

  1. Ne mettez pas de secrets dans les prompts : les messages des jobs cron sont stockés en clair dans ~/.openclaw/cron/jobs.json. Référencez des fichiers de configuration à la place.

  2. Utilisez des sessions isolées pour les tâches sensibles : elles ne partagent pas l'historique de la session principale.

  3. Limitez les active hours : pas besoin de heartbeat à 3h du matin si vous dormez (sauf pour le monitoring critique en cron isolé).

  4. Gardez HEARTBEAT.md court : ce fichier est inclus dans le prompt à chaque heartbeat. Plus il est long, plus il coûte cher.

  5. Monitorez vos coûts : vérifiez régulièrement openclaw cron runs pour identifier les jobs qui consomment trop.

  6. Un événement système immédiat sans créer de job persistant :

openclaw system event --text "Vérifie les logs Apache maintenant" --mode now

🎯 Conclusion

Le passage du cron classique au cron IA représente un changement de paradigme dans l'automatisation. Là où le cron traditionnel exécute mécaniquement des scripts, le cron IA d'OpenClaw raisonne, contextualise et s'adapte.

En combinant le heartbeat (pour les vérifications régulières et groupées) avec les cron jobs isolés (pour les tâches précises et autonomes), vous obtenez un système d'automatisation complet qui fonctionne 24h/24 avec un minimum d'intervention humaine.

La clé est de commencer simple — un heartbeat avec quelques checks et un ou deux cron jobs — puis d'étendre progressivement en fonction de vos besoins réels. L'avantage du prompt en langage naturel est que vous pouvez itérer rapidement sans réécrire de scripts.


📚 Articles liés