cronтрактует %как переводы строк. Вы должны использовать escape, то есть использовать, \%чтобы получить литерал, %используемый в date.
Итак, вам нужно:
date +"\%Y\%m\%d\%H\%M"
Или вы можете использовать скрипт, использовать все команды в скрипте и вызывать скрипт из crontab.
От man 5 crontab:
Знаки процента (%) в команде, если они не экранированы обратной косой чертой (\), будут заменены символами новой строки, и все данные после первого% будут отправлены команде в качестве стандартного ввода. Невозможно разделить одну командную строку на несколько строк, как, например, завершающий символ оболочки "\".