Run a Job Every 45 Seconds
Standard cron cannot schedule sub-minute intervals — its finest resolution is one minute. To run every 45 seconds, use a short shell loop or a systemd timer with OnUnitActiveSec=45s.
Why cron can't do it
The smallest cron field is minutes, so the fastest schedule is * * * * * (once a minute). There is no seconds field in standard cron.
Workaround 1: a self-scheduling loop
* * * * * /path/run.sh
* * * * * sleep 45; /path/run.shThe second line waits 45 s, so together you get runs near 0 s and 45 s each minute — crude but works.
Workaround 2: systemd timer (recommended)
[Timer]
OnBootSec=0
OnUnitActiveSec=45sThis fires the service every 45 seconds precisely and survives reboots.
FAQ
Can cron run every 45 seconds?
No. Cron's minimum interval is one minute. Use a systemd timer with OnUnitActiveSec=45s or a sleep-based loop instead.
What is the fastest cron interval?
Once per minute, using * * * * *. Cron has no seconds field.
How do I run every 45 seconds reliably?
Use a systemd timer: OnUnitActiveSec=45s fires the unit every 45 seconds and restarts after reboot.