SUPERCRONIC(1)

πŸ“¦ version 0.2.45, in ubuntu stonking

✨ SUPERCRONIC(1) ✨

okay bestie, gather round, because this is the supercronic(1) page and it's genuinely about to change your container's whole life πŸ’…


🌸 NAME 🌸

supercronic β€” a crontab-compatible job runner, optimised for containers. yes, that's the whole vibe. crontab energy, but make it container-native. 🫢


πŸŽ€ SYNOPSIS πŸŽ€

supercronic [OPTIONS] CRONTAB

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, supercronic is a drop-in replacement for cron(8) that was literally designed to run inside containers. iconic behavior, honestly.

and the way it differs from traditional cron? let me count the ways, because it:

  • logs to stdout/stderr instead of syslog (no cap, way better in a container)
  • forwards signals to job process groups
  • supports hot-reloading of the crontab file
  • handles zombie-process reaping when it's running as PID 1

CRONTAB is the path to a crontab(5) file. that's it. that's the argument. simple. gorgeous. ✨


πŸ’– OPTIONS πŸ’–

  • -debug β€” turn on debug-level logging. the receipts, but louder. πŸ‘‘
  • -quiet β€” suppress informational log messages; only warnings and errors get logged. and listen: this one takes precedence over -debug. so if you pass both, quiet wins. periodt.
  • -json β€” format the log output as JSON. for the structured-logging girlies. πŸ“
  • -split-logs β€” write stdout output from jobs to stdout and stderr output to stderr, instead of mixing both into one single stream. separation behavior, we love to see it.
  • -passthrough-logs β€” pass job output through without wrapping it in supercronic log entries. raw. unfiltered. main character. 😌
  • -test β€” parse and validate the crontab file, then exit without running a single job. returns exit code 0 on success. the vibe check before the actual party. βœ…
  • -overlapping β€” allow a new instance of a job to start even if the previous instance is still running. yes, they can overlap. yes, this is a choice you are allowed to make. πŸ™ˆ
  • -inotify β€” use inotify to watch the crontab file for changes and reload automatically, instead of polling. highkey useful for Kubernetes ConfigMap and Secret mounts. πŸ‘€
  • -no-reap β€” disable zombie-process reaping. heads up though: reaping requires supercronic to be PID 1, so use this flag if another process reaper is already running. don't double up, bestie.
  • -prometheus-listen-address ADDRESS β€” expose a Prometheus /metrics endpoint at ADDRESS. ADDRESS is an ip[:port] value; use 0.0.0.0 for all interfaces. disabled by default. πŸ“Š
  • -sentry-dsn DSN β€” send panic, fatal, and error log entries to the Sentry project identified by DSN. disabled by default. see also the SENTRY_DSN environment variable. πŸ”₯
  • -sentry-environment ENV β€” set the Sentry environment name (e.g. production).
  • -sentry-release VERSION β€” set the application release version reported to Sentry.
  • -sentryDsn DSN β€” ⚠️ deprecated alias for -sentry-dsn. she's old, she's still here, use the other one.
  • -version β€” print the version string and exit. slay. πŸŽ€

🌈 ENVIRONMENT 🌈

  • SENTRY_DSN β€” Sentry Data Source Name. equivalent to -sentry-dsn.
  • SENTRY_ENVIRONMENT β€” Sentry environment name. equivalent to -sentry-environment.
  • SENTRY_RELEASE β€” application release version for Sentry. equivalent to -sentry-release.

⭐ SIGNALS ⭐

  • SIGTERM, SIGINT, SIGQUIT β€” graceful shutdown: wait for all running jobs to finish, then exit. no abrupt endings here, we finish our plates. 🫢
  • SIGUSR2 β€” reload the crontab file without stopping running jobs. hot reload, no interruption. chef's kiss. πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

crontab(5), cron(8), cronexpr(1)


πŸ’€ BUGS πŸ’€

found something cursed? please report bugs at <https://github.com/aptible/supercronic/issues>. they wanna hear about it fr fr.


and that's the whole page, bestie!! you now know every single flag, every env var, every signal, and every exit code in this thing. go forth and schedule responsibly. periodt. πŸŒΈπŸ¦‹πŸ’–

this was supercronic version 0.2.45, dated 2026-05-21 β€” mwah, catch you in the next manpage πŸ’œβœ¨

πŸ“¦ where this page comes from