Creo que esto debería funcionar, independientemente de la frecuencia y el momento en que lo ejecute...
date -d "yesterday 13:00" '+%Y-%m-%d'
la fecha en Mac OSX es ligeramente diferente.
Para ayer
date -v-1d +%F
Para la semana pasada
date -v-1w +%F
Esto también debería funcionar, pero quizás sea demasiado:
date -d @$(( $(date +"%s") - 86400)) +"%Y-%m-%d"