Run Daily Tasks at Noon with 0 12 * * * | CronBase

cron expression Standard
$ 0 12 * * *

Every day at noon

The `0 12 * * *` cron expression schedules a task to run daily at exactly 12:00 PM (noon). It is commonly used for executing mid-day business reports, daily database synchronization, cache clearing, and sending aggregated morning notifications to users across various standard enterprise systems and cloud platforms.

Minute
0
Hour
12
Day of Month
*
Month
*
Day of Week
*
How it works

Next 5 Runs

  • in 15h 23m
  • in 1d 15h
  • in 2d 15h
  • in 3d 15h
  • in 4d 15h

* Tools

Code & Implementations

Bash
#!/usr/bin/env bash
# Standard cron configuration for running a daily backup script at noon.
# To install, run: (crontab -l 2>/dev/null; echo "0 12 * * * /usr/local/bin/daily-backup.sh") | crontab -

set -euo pipefail

LOCKFILE="/var/lock/daily-backup.lock"

# Ensure mutually exclusive execution using flock
exec 9>"$LOCKFILE"
if ! flock -n 9; then
    echo "Error: Another instance of the daily backup is already running." >&2
    exit 1
fi

echo "[$(date -u)] Starting daily database backup execution..."
# Perform actual backup logic here
# tar -czf /backups/db-$(date +%F).tar.gz /data/db

echo "[$(date -u)] Daily backup completed successfully."
Setup notes

Save this script to /usr/local/bin/daily-backup.sh, make it executable with chmod +x, and register it in your crontab using the standard 0 12 * * * expression.

Last verified:

Partner UptimeRobot

Keep this cron job monitored 24/7

UptimeRobot alerts you the moment a scheduled job stops responding. Free plan monitors up to 50 endpoints — no credit card required.

Platform Equivalents

AWS EventBridge

Standard cron expressions often need conversion for AWS EventBridge schedules.

EventBridge Rule
cron(0 12 * * ? *)

Systemd Timer

OnCalendar*-*-* 12:00:00

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

[Timer]
OnCalendar=*-*-* 12:00:00
Persistent=true

[Install]
WantedBy=timers.target

Last verified:

Frequently Asked Questions

How does Daylight Saving Time affect a 12 PM execution?

If your host system is set to a local timezone that observes DST, the execution will shift relative to UTC when DST starts or ends. To prevent unexpected execution times, run your cron daemon on UTC or use the CRON_TZ variable if supported.

What happens if the server is powered off at 12:00 PM?

Standard cron does not run missed jobs retroactively. If the system is offline at noon, the job is skipped until noon the next day. If you need recovery for missed executions, consider using anacron or an orchestrator with a missed-run policy.

How do I run a job at noon only on weekdays using this expression?

You must modify the final field (day-of-week). Changing the expression to '0 12 * * 1-5' will restrict the daily noon execution to Monday through Friday, skipping Saturday and Sunday.

Can I run multiple distinct scripts at noon using this schedule?

Yes, you can add multiple crontab entries with the '0 12 * * *' prefix. However, to prevent resource contention, consider chaining them in a single script or staggering their start times to avoid overloading the system.

How can I verify that my daily cron job actually ran?

You should check the system cron logs (typically located in /var/log/syslog or /var/log/cron) or configure external monitoring (like a webhook heartbeat) that alerts you if a ping is not received shortly after 12:00 PM.

* Explore

Related expressions you might need

Last verified:

Was this helpful?