Cron Job Every 3 Days at Midnight – 0 0 */3 * *
The expression 0 0 */3 * * triggers at 00:00 on every 3rd day of the month, starting from day 1. The */3 step counts through the day-of-month field (1, 4, 7, 10, 13, 16, 19, 22, 25, 28), so the final interval of the month may be shorter than 3 days depending on how many days the month has. This means the job can run sooner than expected at the turn of a new month, which is worth accounting for in tasks that must not execute too frequently.
How It Works
The expression 0 0 */3 * * triggers at 00:00 on every 3rd day of the month, starting from day 1. The */3 step counts through the day-of-month field (1, 4, 7, 10, 13, 16, 19, 22, 25, 28), so the final interval of the month may be shorter than 3 days depending on how many days the month has. This means the job can run sooner than expected at the turn of a new month, which is worth accounting for in tasks that must not execute too frequently.
Common Use Cases
- Rotating and archiving application log files every 3 days to keep disk usage in check without the overhead of daily cleanup jobs
- Syncing a local database replica or cache from a remote data source on a cadence that balances freshness against API rate limits
- Sending a digest report of accumulated metrics, errors, or user activity to a team Slack channel or email inbox every 3 days
- Running incremental backups of user-uploaded assets or configuration files to object storage between weekly full backups
Monitor a Job on This Schedule
Writing the 0 0 */3 * * schedule is only half the job. Cron fires silently — if the run is skipped, the server is down, or the script fails, nothing tells you. A heartbeat monitor closes that gap: your job pings a URL on success, and you get an alert the moment an expected run goes missing. CronJobPro can run this schedule for you as an HTTP job, or watch a job you run elsewhere (cron, CI, Kubernetes) with a dead-man's-switch check.
Schedule This Cron Job Now
Create a free CronJobPro account and use 0 0 */3 * * to schedule HTTP requests automatically — with monitoring, retries, and notifications built in.
Frequently Asked Questions
What does 0 0 */3 * * mean in cron?
The expression 0 0 */3 * * triggers at 00:00 on every 3rd day of the month, starting from day 1. The */3 step counts through the day-of-month field (1, 4, 7, 10, 13, 16, 19, 22, 25, 28), so the final interval of the month may be shorter than 3 days depending on how many days the month has. This means the job can run sooner than expected at the turn of a new month, which is worth accounting for in tasks that must not execute too frequently.
How do I use this cron expression?
On Linux/macOS, edit your crontab with crontab -e and add:0 0 */3 * * /path/to/your/script.sh
Or use CronJobPro to schedule HTTP requests with this expression — no server required.
What timezone does cron use?
By default, cron uses the system timezone. CronJobPro lets you set a specific timezone per job, so your schedules are predictable regardless of server location.