A las 00:00, sólo el domingo

0 0 * * 0

Campos

Minuto00
Hora00
Día del mes*cualquiera
Mes*cualquiera
Día de la semana00

Dónde usarla

crontab0 0 * * 0 /path/to/script.sh
GitHub Actions- cron: "0 0 * * 0" (on.schedule)
Kubernetes CronJobschedule: "0 0 * * 0"

crontab usa la zona horaria del servidor; GitHub Actions siempre usa UTC.

A tener en cuenta

0 0 * * 0 se ejecuta a medianoche al empezar el domingo, justo después de que termine el sábado. Si te referías al domingo por la noche, el final de la semana, usa 0 23 * * 0, o 0 0 * * 1 para el lunes a las 00:00. Tanto 0 como 7 significan domingo en Vixie cron y cronie, y @weekly equivale a 0 0 * * 0. Los planificadores basados en Quartz numeran los días del 1 al 7 con el domingo como 1, así que compruébalo antes de copiar.

Las tareas semanales fallan sin hacer ruido: si el servidor estaba caído a medianoche del domingo, cron no recupera la ejecución y esperas otra semana, mientras que anacron o un timer de systemd con Persistent=true ejecutan las tareas perdidas tras el arranque. El mantenimiento semanal suele alargarse, así que usa flock -n, registra la salida y añade un monitor de heartbeat. Para ejecutar un domingo sí y otro no, comprueba el número de semana con date +\%V dentro del comando.

Abrir Generador y explicador de expresiones cron