Cron en tant que service
Planifiez des jobs avec des expressions standard à 5 champs ou des macros @daily. Gérez les entrées via REST, activez/désactivez-les et définissez l'expiration automatique — sans SSH.
# Créer un job cron qui s'exécute tous les jours à 9h
hoody cron create root \
--schedule "0 9 * * *" \
--command "/usr/local/bin/backup.sh" \
--comment "Daily backup at 9 AM"
# Réponse
[
"id": "7d3f2a1b-8c4e-4f9a-b2d5",
"schedule_human": "At 09:00",
"enabled": true
]
# Désactiver un job temporairement
hoody cron update root $ENTRY_ID --enabled false
# Entrée désactivée
Tous les patterns dont vous aurez besoin
Huit expressions avec leurs équivalents lisibles par l'humain — directement depuis le champ schedule_human de l'API.
Planning d'un coup d'œil
Quatre entrées gérées sur un axe glissant — prochains déclenchements en bleu, entrées désactivées estompées. Alimenté par schedule_human et l'état enabled.
daily-backup
À 02:00
health-check
Toutes les 15 minutes
log-rotate
À 00:00 le dimanche
sync-reports
À 09:00 du lundi au vendredi
Géré ou brut — à vous de choisir
Entrées suivies par UUID avec activation/désactivation et expiration via l'API JSON, ou accès direct au fichier crontab quand vous maîtrisez le workflow.
Entrées gérées
5 endpointsCRUD sauvegardé par UUID — créez, lisez, mettez à jour, supprimez des jobs cron via JSON. Ajoutez des commentaires, activez/désactivez, définissez l'expiration automatique sans toucher au crontab brut.
# Créer une entrée gérée
POST /users/[user]/entries
[
"schedule": "0 9 * * *",
"command": "/usr/local/bin/backup.sh",
"comment": "Daily backup",
"enabled": true,
"expires_at": null
Crontab brut
3 endpointsAccès complet en lecture/écriture au fichier crontab par utilisateur système. Utilisez ceci quand vous avez besoin d'un contrôle total ou disposez de workflows existants basés sur le crontab.
# Lire le crontab brut
GET /users/[user]/crontab
# Remplacer tout le crontab
PUT /users/[user]/crontab
["crontab": "0 5 * * * /usr/local/bin/backup.sh"]
Expressions cron courantes
Copiez-collez ces plannings documentés — chacun vérifié par rapport à la référence d'expressions ci-dessus.
* * * * *
Chaque minute
Se déclenche à chaque tic de l'horloge. Idéal pour les tâches de polling continu, les collecteurs de métriques ou les processus watchdog.
0 * * * *
Chaque heure
Se déclenche en début d'heure. Bon pour les récapitulatifs horaires, le préchauffage du cache ou les synchronisations API planifiées.
0 9 * * 1-5
Jours ouvrés à 9h
Se déclenche à 09:00 du lundi au vendredi uniquement. Utilisez pour les tâches aux heures de bureau comme l'envoi de résumés quotidiens ou la génération de rapports.
0 0 1 * *
Premier du mois
Se déclenche une fois par mois à minuit le 1er. Parfait pour les récapitulatifs mensuels, les cycles de facturation et les tâches d'archivage.
*/5 * * * *
Toutes les 5 minutes
Se déclenche toutes les 5 minutes. Utile pour les vérifications de santé, le vidage de files d'attente et la synchronisation de données quasi-temps réel.
@daily
Macro quotidienne
Équivalent à 0 0 * * * — minuit tous les jours. La façon la plus claire d'exprimer un planning une fois par jour.
9 endpoints. Deux modes.
Cinq endpoints CRUD pour les entrées gérées, trois endpoints crontab brut et un health check — tous limités par utilisateur système.
Entrées gérées
5 endpointsGET /users/root/entries → [[id, schedule_human, enabled]]
Crontab brut
3 endpointsPUT /users/root/crontab → [crontab, user]
Système
1 endpointGET /health → [status: ok]
Planifiez votre premier job
Une requête POST. Une entrée cron. Zéro SSH. Hoody Cron s'exécute dans votre conteneur en ce moment même.