crontool
Paste a schedule, read it in English, see the next runs.

Cron @reboot: Run a Job at Startup

The expression is @reboot — it runs the command once each time cron starts after a boot, not on a clock schedule. The details and gotchas are below.

What @reboot does

@reboot /path/to/script runs the command once when the cron daemon starts, which is normally right after the system boots. It has no time fields — it is an event, not a schedule.

When it actually fires

It fires when cron itself starts, not at the exact instant the kernel boots. If cron is restarted without a reboot, the job may run again. It does not run if you only restart your user session.

Gotchas

The environment at boot is minimal — use absolute paths and set any needed variables inside the script. For services that must survive crashes and restarts, a systemd unit with After=network.target is more reliable than @reboot. Add sleep 60 at the start if the job depends on the network being up.

FAQ

What does @reboot do in cron?

It runs the command once when cron starts after a boot — a startup hook, not a timed schedule.

Does @reboot run at the exact boot moment?

No. It runs when the cron daemon starts, which is shortly after boot. It can also re-run if cron is restarted.

Why isn't my @reboot job running?

Often the environment or PATH is missing at boot, or a dependency (network, mounts) isn't ready. Use absolute paths and consider a short sleep or a systemd unit.