Sim, você precisa escapar disso. Uma barra invertida serve.
Você também pode colocar o comando em um script e chamar o script.
Eu tenho o seguinte comando no cron:
5 6 * * * bash -c "tar -czf /backups/sites-server-files-rotate/sites_'date +%F'.tar.gz /backups/sites-server-files/"
Mas o comando não é executado. E eu posso ver o seguinte no log cron:
Apr 17 06:05:01 backup crond[9423]: (root) CMD (bash -c "tar -czf /backups/sites-server-files-rotate/sites_'date +)
Parece que %
sign corta o comando no cron. Por quê? Eu tenho que escapar disso? E como?
Sim, você precisa escapar disso. Basta digitar \
barra invertida antes de cada ocorrência de %
.
O caractere de porcentagem indica uma nova linha no crontab.
Você pode criar um arquivo bash com seu script e adicioná-lo ao crontab.
Por exemplo:
faça o arquivo script.sh
#!/bin/bash
tar -czf /backups/sites-server-files-rotate/sites_\'date +%F\'.tar.gz /backups/sites-server-files/
Em seguida, adicione ao cron:
5 6 * * * /dir/to/your/script.sh
Tags cron