Cron Expression for Weekly on Monday
Run a cron job every Monday at midnight using 0 0 * * 1. The standard weekly schedule for start-of-week tasks.
Expression
0 0 * * 1 At 00:00 every Monday
Use Cases
- • Sending weekly status reports
- • Running weekly database optimization
- • Triggering start-of-week data aggregation
- • Generating weekly newsletter content
Code Examples
Crontab
# At 00:00 every Monday
0 0 * * 1 /path/to/your/script.sh GitHub Actions
name: Scheduled Job
on:
schedule:
- cron: '0 0 * * 1'
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: echo "Running Weekly on Monday" systemd Timer
[Unit]
Description=Weekly on Monday timer
[Timer]
OnCalendar=*-*-* *:*:00
Persistent=true
[Install]
WantedBy=timers.target Tips
- ✓ Day of week: 0 = Sunday, 1 = Monday, ..., 6 = Saturday
- ✓ Use @weekly for a shorthand (runs Sunday at midnight on most systems)
- ✓ Combine with a specific hour: 0 9 * * 1 for Monday at 9 AM
- ✓ Some cron implementations accept MON instead of 1
Frequently Asked Questions
What number is Monday in cron?
In standard cron, Monday is 1. The week goes: 0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday. Some implementations also accept 7 for Sunday.
Is @weekly on Monday or Sunday?
@weekly is equivalent to 0 0 * * 0, which runs on Sunday at midnight. For Monday, you must use 0 0 * * 1 explicitly.