Aller au contenu
kit / cron / principal
CronCron en tant que service

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.

cron — hoody kit

# 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

kit / cron / galerie-expressions
RÉFÉRENCE D'EXPRESSIONS

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.

Expression
Lisible par l'humain
Copier
* * * * *
Chaque minute
*/5 * * * *
Toutes les 5 minutes
0 * * * *
À la minute 0 (chaque heure)
0 9 * * *
À 09:00
0 9 * * 1-5
À 09:00 du lundi au vendredi
0 0 1 * *
À 00:00 le 1er du mois
@daily
À 00:00 (macro)
@weekly
À 00:00 le dimanche (macro)
Macros : @hourly @daily @weekly @monthly @yearly
kit / cron / calendrier
PLANIFICATEUR D'ENTRÉES

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.

-2h-1.5h-1h-0.5hnow+0.5h+1h+1.5h+2h+2.5h+3h

daily-backup

À 02:00

health-check

Toutes les 15 minutes

log-rotate

À 00:00 le dimanche

sync-reports

À 09:00 du lundi au vendredi

à venir
désactivé
passé
kit / cron / modes
DEUX MODES

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 endpoints

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

POST /users/root/entries

# 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 endpoints

Accè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.

GET /users/root/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"]

kit / cron / modèles
PATTERNS DE PLANNING

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.

kit / cron / endpoints
ENDPOINTS API

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 endpoints

GET /users/root/entries → [[id, schedule_human, enabled]]

GET
/users/{user}/entriesLister les entrées gérées
POST
/users/{user}/entriesCréer une entrée gérée
GET
/users/{user}/entries/{id}Obtenir une entrée par ID
PATCH
/users/{user}/entries/{id}Mettre à jour une entrée
DELETE
/users/{user}/entries/{id}Supprimer une entrée

Crontab brut

3 endpoints

PUT /users/root/crontab → [crontab, user]

GET
/crontabLister tous les crontabs (paginés)
GET
/users/{user}/crontabObtenir le crontab brut pour l'utilisateur
PUT
/users/{user}/crontabRemplacer le crontab pour l'utilisateur

Système

1 endpoint

GET /health → [status: ok]

GET
/healthVérification de santé
kit / cron / cta

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.

Voir la documentation API