escapando aspas duplas e sinais de porcentagem (%) no cron

55

O seguinte comando funciona a partir do prompt, mas não do crontab.

 grep abc  /var/log/messages | grep "'date '+%B %d''" | mail -s"abc log of 'hostname'" shantanu.oak+'hostname'@gmail.com

Eu preciso adicioná-lo ao cron diário.

    
por shantanuo 27.05.2011 / 12:27

2 respostas

100

Você tem que escapar dos sinais % . Eles têm um significado especial em crontabs:

man (5) crontab:

Percent-signs (%) in the command, unless escaped with backslash (\), 
will be changed into newline characters, and all data after the 
first % will be sent to the command as standard input.
    
por 27.05.2011 / 12:33
7

Isso não responde diretamente à sua pergunta, mas eu sugiro que você crie um arquivo de script em / usr / local / bin (ou ~ / bin ou o que for apropriado) e chame isso do cron. É mais fácil testar e editar.

    
por 27.05.2011 / 12:48