A página de manual ( man 5 crontab
) diz:
A parte inteira do comando da linha, até uma nova linha ou% caractere, será executado por / bin / sh ou pelo shell especificado em a variável SHELL do arquivo crontab. Porcentagem-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ão enviados para o comando como entrada padrão.
Você precisa substituir cada %
no formato de data por \%
:
1 0 * * * rm -R /path/to/my/folder/$(date +'\%Y-\%m-\%d' -d "yesterday")