Run a Cron Job Every Weekday (Mon-Fri)

Cron expression to run a job Monday through Friday. Uses the range 1-5 in the day-of-week field.

Cron Expression
0 0 * * 1-5
Every weekday (Mon–Fri) at 12:00 AM

Field-by-Field Breakdown

FieldValueMeaning
Minute00
Hour00
Day of Month*every day of month
Month*every month
Day of Week1-5Monday through Friday

0 0 * * 1-5 runs once per business day at midnight — Monday through Friday, never on weekends. It's the natural cadence for work that depends on business activity (markets being open, support staff being available, vendor APIs being attended) and would either fail or waste resources on weekends.

When teams reach for this schedule

Business-day batch processing

ETL jobs, market-data ingestion, and payment settlement runs typically need data that only flows on weekdays. Running them on Saturday or Sunday either produces empty outputs or fails on missing source data; a `1-5` schedule avoids both.

Internal staffing-dependent automations

Auto-assigning support tickets, notifying on-call rotations, or generating handoff documents only make sense when humans are around to act. A weekday-only schedule keeps the queues quiet over the weekend.

Daily compliance checks during the business week

SOX, GDPR, and SOC 2 controls often require evidence of daily checks on business days. The `1-5` range produces an audit trail that exactly matches the regulatory definition of 'business day' (excluding most weekend-skip conventions).

What to watch for

  • * * 1-5 excludes weekends but does NOT exclude holidays. New Year's Day, July 4th, Christmas — if the schedule must skip those, layer a holiday calendar inside the job logic; cron alone can't express it.
  • If the job needs to run on the last business day of the month, cron alone can't model that either. Use a 0 0 28-31 * * schedule and exit early if the target day isn't a weekday (or use a scheduler with business-calendar awareness).
  • ISO 8601 defines weekdays as Monday-Friday, which matches 1-5 in standard cron. Some other systems (Quartz, AWS EventBridge with SUN-SAT names) use different conventions — always verify against your scheduler's docs.
  • Across timezones, what is 'Friday' in UTC can be Thursday in PT or Saturday in JST. Use an explicit timezone to anchor the schedule to a region's business week.

Next 5 Scheduled Runs

Computed in UTC. Use the generator to compare UTC with your browser-local time.

  1. 1Thu, Jun 4, 2026, 12:00 AM
  2. 2Fri, Jun 5, 2026, 12:00 AM
  3. 3Mon, Jun 8, 2026, 12:00 AM
  4. 4Tue, Jun 9, 2026, 12:00 AM
  5. 5Wed, Jun 10, 2026, 12:00 AM

Schedule this with TrigRun

Deploy this cron schedule in seconds. Automatic retries, encrypted secrets, full execution history, and native MCP support for AI agents.

Start Scheduling — Free

0 0 * * 1-5

Frequently Asked Questions

What is the cron expression for weekdays only?

0 0 * * 1-5 runs at midnight Monday through Friday. The range 1-5 covers Monday (1) to Friday (5).

How do I exclude weekends from a cron schedule?

Use the day-of-week range 1-5 to run only on weekdays. For example, 0 9 * * 1-5 runs at 9 AM every weekday.

How do I skip holidays as well as weekends?

Cron has no holiday concept. Either filter inside the job (read a holiday list, exit early if today matches), or use a scheduler with business-calendar awareness — TrigRun supports skip-windows so the run is suppressed at schedule time rather than wasted.