Run Sunday at 1 AM Cron Schedule Guide | CronBase

cron expression Standard
$ 0 1 * * 0

Every Sunday morning at one AM

This cron expression schedules a task to execute every Sunday at exactly 1:00 AM. It is commonly used in production environments for heavy weekly operations such as full database backups, log rotation, system updates, and report generation, when traffic and user activity are typically at their lowest.

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

Next 5 Runs

  • in 4h 35m
  • in 7d 4h
  • in 14d 4h
  • in 21d 4h
  • in 28d 4h

* Tools

Code & Implementations

Bash
#!/usr/bin/env bash
# Weekly system backup cron job scheduled for 1:00 AM on Sundays
set -euo pipefail

LOG_FILE="/var/log/weekly_backup.log"

log() {
    echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')] $1" >> "$LOG_FILE"
}

log "Starting weekly backup process..."

# Perform backup operation
if tar -czf /backups/weekly_$(date +%F).tar.gz /data >> "$LOG_FILE" 2>&1; then
    log "Backup completed successfully."
else
    log "ERROR: Backup failed!"
    exit 1
fi
Setup notes

Add this script to /usr/local/bin/weekly-backup.sh, make it executable with chmod +x, and add 0 1 * * 0 /usr/local/bin/weekly-backup.sh to the root crontab.

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 1 ? * 0 *)

Systemd Timer

OnCalendarSun *-*-* 01:00:00

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

[Timer]
OnCalendar=Sun *-*-* 01:00:00
Persistent=true

[Install]
WantedBy=timers.target

Last verified:

Frequently Asked Questions

How does the Sunday 1 AM schedule behave during Daylight Saving Time transitions?

If running in a local timezone that observes DST, the transition forward (spring) or backward (autumn) typically occurs at 2:00 AM. While 1:00 AM is generally safe from being skipped, shifting system clocks can still cause execution timing anomalies. To guarantee consistent weekly intervals, configure your scheduler or server environment to run in UTC.

What happens if the server is offline when Sunday 1:00 AM passes?

Standard cron daemons will not run missed jobs once the server comes back online. If missed execution recovery is critical (e.g., for financial reconciliations or backups), you should use an anacron-like utility, systemd timers with 'Persistent=true', or a Kubernetes CronJob configuration.

How can I prevent multiple instances of this weekly job from overlapping?

Since this job runs once a week, overlapping is rare unless a task hangs indefinitely. Implement flock-based locking in Bash, use the 'concurrencyPolicy: Forbid' setting in Kubernetes, or use database-backed distributed locks (like ShedLock in Java or Redlock in Redis) for application-level tasks.

Can I run this job on a different day of the week instead of Sunday?

Yes. The final field in the standard five-field cron expression controls the day of the week. Changing the '0' to '1' will run the job on Monday, '5' will run it on Friday, and '6' will run it on Saturday. The execution time will remain at 1:00 AM.

How should I monitor a job that only runs once a week?

Passive monitoring (waiting for an error alert) is risky for weekly jobs because a failure means a whole week without execution. Implement active 'dead-man's switch' monitoring using services like Healthchecks.io, Opsgenie, or Prometheus Pushgateway, which alert you if a success signal is NOT received by 1:15 AM every Sunday.

* Explore

Related expressions you might need

Last verified:

Was this helpful?