Run Thursday Morning Jobs at 9 AM | CronBase

cron expression Standard
$ 0 9 * * 4

Every Thursday morning at nine o'clock

The `0 9 * * 4` cron expression schedules a task to run once a week on Thursday mornings at exactly 9:00 AM. This cadence is ideal for mid-week operations, end-of-week preparation reports, weekly backup verification, and automated system synchronization before the weekend begins.

Minute
0
Hour
9
Day of Month
*
Month
*
Day of Week
4
How it works

Next 5 Runs

  • in 4d 12h
  • in 11d 12h
  • in 18d 12h
  • in 25d 12h
  • in 32d 12h

* Tools

Code & Implementations

Bash
#!/usr/bin/env bash
# Production Bash Cron Runner for Thursday 9 AM Tasks
set -euo pipefail
LOG_FILE="/var/log/thursday_weekly_job.log"
exec >> "$LOG_FILE" 2>&1
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] Starting Thursday weekly maintenance..."
if ! /usr/local/bin/run-weekly-sync; then
    echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] ERROR: Weekly sync failed!" >&2
    exit 1
fi
echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] Thursday weekly maintenance completed successfully."
Setup notes

Place this script in /usr/local/bin/thursday-job.sh, make it executable, and add '0 9 * * 4 /usr/local/bin/thursday-job.sh' to your crontab.

Last verified:

Partner BetterStack

Monitor this schedule in production

Get alerted the moment this cron job fails, is late, or doesn't run. BetterStack tracks execution, duration, and output — no infrastructure required.

Platform Equivalents

AWS EventBridge

Standard cron expressions often need conversion for AWS EventBridge schedules.

EventBridge Rule
cron(0 9 ? * 4 *)

Systemd Timer

OnCalendarThu *-*-* 09:00:00

my-task.timer
[Unit]
Description=Timer for cron expression: 0 9 * * 4

[Timer]
OnCalendar=Thu *-*-* 09:00:00
Persistent=true

[Install]
WantedBy=timers.target

Last verified:

Frequently Asked Questions

What day of the week does the number 4 represent in standard cron?

In standard cron dialects, the number 4 in the fifth field represents Thursday, assuming Sunday is 0 or 7 and Monday is 1. Always verify your specific environment's dialect, as some systems vary.

How do Daylight Saving Time (DST) changes affect this 9:00 AM schedule?

If your cron daemon runs on local time, DST transitions will cause the job to execute at a different UTC offset twice a year. To maintain a strict 24-hour separation or predictable UTC runtime, run your cron daemon in UTC.

What happens if a previous Thursday job is still running when 9:00 AM arrives?

By default, standard cron will start a new process regardless of whether the previous instance finished. Use locking mechanisms like `flock` in Bash or `concurrencyPolicy: Forbid` in Kubernetes to prevent concurrent executions.

Can I run this job on Thursday only if it is the first Thursday of the month?

Standard cron does not support logic like "first Thursday of the month" natively. You must schedule the job for every Thursday (`0 9 * * 4`) and add an evaluation script to check if the current day is between 1 and 7.

How can I safely test a job scheduled for Thursday at 9:00 AM?

You can temporarily shift the cron expression to run every few minutes (e.g., `*/5 * * * *`) in a staging environment, or trigger the underlying script manually to verify its behavior and performance under load.

* Explore

Related expressions you might need

Last verified:

Was this helpful?