Ich denke, das sollte funktionieren, unabhängig davon, wie oft und wann Sie es ausführen ...
date -d "yesterday 13:00" '+%Y-%m-%d'
Datum unter Mac OSX ist etwas anders.
Für gestern
date -v-1d +%F
Für letzte Woche
date -v-1w +%F
Das sollte auch funktionieren, aber vielleicht ist es zu viel:
date -d @$(( $(date +"%s") - 86400)) +"%Y-%m-%d"