Cron every other day
Runs at midnight on the 1st, 3rd, 5th and other odd days. The step restarts each month, so after the 31st it runs again on the 1st, two days in a row. If the gap must be exactly 48 hours, run daily and check the date in the script.
At 00:00 on every 2nd day of the month.
Next runs
What each field means
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | 0 |
| Hour | 0 | 0 |
| Day of month | */2 | every 2nd day |
| Month | * | every month |
| Day of week | * | any day of the week |
Know when it doesn’t run
Cron never tells you when a job fails to start or dies halfway. Add a ping at the end of the line: if Heartcron doesn’t hear it on schedule, you get an alert in Telegram, Slack, Discord or email.
0 0 */2 * * /path/to/job.sh && curl -fsS -m 10 --retry 3 https://ping.heartcron.com/<check-id> > /dev/null
Common schedules
- every minute
* * * * * - every 2 minutes
*/2 * * * * - every 3 minutes
*/3 * * * * - every 5 minutes
*/5 * * * * - every 10 minutes
*/10 * * * * - every 15 minutes
*/15 * * * * - every 20 minutes
*/20 * * * * - every 30 minutes
*/30 * * * * - every 45 minutes
*/45 * * * * - every hour
0 * * * * - every 2 hours
0 */2 * * * - every 3 hours
0 */3 * * * - every 4 hours
0 */4 * * * - every 6 hours
0 */6 * * * - every 8 hours
0 */8 * * * - every 12 hours
0 */12 * * * - every day at midnight
0 0 * * * - every day at 3 AM
0 3 * * * - every day at 6 AM
0 6 * * * - every day at noon
0 12 * * * - twice a day
0 0,12 * * * - every weekday at 9 AM
0 9 * * 1-5 - every hour during business hours
0 9-17 * * 1-5 - every Monday
0 9 * * 1 - every Friday
0 17 * * 5 - on weekends
0 10 * * 6,0 - every week
0 0 * * 0 - every month
0 0 1 * * - on the 1st and 15th of the month
0 0 1,15 * * - every quarter
0 0 1 */3 * - every 6 months
0 0 1 */6 * - every year
0 0 1 1 * - Any other expression
…