crontool
Paste a schedule, read it in English, see the next runs.

Run a Cron Job Every Week

To run a job once a week, set a single day-of-week and time. For example, 0 0 * * 0 runs at midnight every Sunday. You can also use the @weekly shortcut, which is the same as 0 0 * * 0.

The expression

0 0 * * 0 runs at 00:00 every Sunday. Fields: minute (0), hour (0), day-of-month (*), month (*), day-of-week (0 = Sunday).

The @weekly shortcut

Most cron implementations accept @weekly as an alias for 0 0 * * 0: @weekly /usr/bin/bash /path/report.sh.

Choose a different day and time

Change the last field for the day and the first two for the time. 30 8 * * 1 runs at 08:30 every Monday. Sunday is 0 (or 7), Monday 1, up to Saturday 6.

FAQ

What is the cron expression to run weekly?

0 0 * * 0 runs at midnight every Sunday. Change the day-of-week (last field) and the hour/minute to pick a different weekly slot.

Is @weekly the same as 0 0 * * 0?

Yes. @weekly is a shortcut for 0 0 * * 0 — midnight on Sunday — supported by most cron daemons.

How do I run a weekly job on Monday morning?

Use 30 8 * * 1 for 08:30 every Monday. The 1 is Monday; adjust the hour and minute to your time.