Work out cron expression next run instantly with clear inputs, formula shown and shareable results.
A cron expression like */15 fires at minutes that are multiples of the interval within each hour, so the next run is the next such boundary rather than the interval counted from now. The failure mode worth checking is overlap: cron starts a new instance on schedule regardless of whether the previous one finished, so any job whose duration approaches the interval needs a lock.
Next cron slot
next slot = ceil((current minute + 1) / interval) x interval; runs per day = floor(1440 / interval)
Step values restart each hour, so */7 fires at minutes 0, 7, 14, 21, 28, 35, 42, 49 and 56 — the gap between 56 and the next hour's 0 is only 4 minutes.
Wrap the command in flock with a lock file, or use a systemd timer, which will not start a service that is still running.