Usando% em um comando cron

3

Como o % tem um significado especial para o cron, como posso usá-lo como parte de um comando?

Eu encontrei esta página link , que menciona o encanamento echo e sed para escapar do % e em seguida, remova o \ extra, mas no meu caso, o comando é date , que não aceita parâmetros por STDIN, então isso não funciona:

echo '+\%Y' | sed -e 's|\||g' | date

Estou a pensar que posso criar um script de data especial que irá imprimir a data no formato que quero e chamar isso em vez disso, mas ainda estou a pensar se é possível fazê-lo directamente no comando cron.

Obrigado!

    
por Ivan 12.10.2010 / 16:39

1 resposta

3

A página do manual crontab (5) diz:

  

Porcentagem de sinais (%) no comando, a menos que tenha escapado com barra invertida (), será alterado   em novos personagens, [...]

para que você possa escapar do caractere % prefixando-o com uma barra invertida \ :

00 15 * * *  user  date '+\%Y'

A sequência \% é processada por cron , portanto, o shell verá o comando date '+%Y' , que é uma invocação correta de date .

    
por Riccardo Murri 12.10.2010 / 16:51

Tags