cron
trata %
como novas linhas. Você precisa usar escape, ou seja, use \%
para obter o literal %
como usado em date
.
Então você precisa:
date +"\%Y\%m\%d\%H\%M"
Ou você pode usar um script e usar todos os comandos do script e chamar o script em crontab
.
De man 5 crontab
:
Porcentagem de sinais (%) no comando, a menos que tenha escapado com barra invertida (\), será alterado para caracteres de nova linha e todos os dados após o primeiro % será enviado para o comando como entrada padrão. Não há como dividir uma única linha de comando em várias linhas, como o shell "\" à direita.