2012-06-23 17 views
8

puedo ver que esto es un error 'habitual', pero no puede encontrar una solución en mi caso ...Ejecución de trabajo de cron crea un archivo inesperado error en la búsqueda de juego ``'

Ejecución de trabajo con Crontab:

expr `date +%W` % 2 > /dev/null && curl https://mysite.com/myscript 

se provoca errores:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``' 
/bin/sh: -c: line 1: syntax error: unexpected end of file 

¿me pueden ayudar cómo evitarlos? ¡Muchas gracias por adelantado!

Respuesta

14

Tiene que escapar del carácter %. man 5 crontab dice:

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. 
+2

Esta pequeña pieza de conocimiento me ayudó enormemente. No podía entender por qué 'date +% Y-% m-% d_% H-% M-% S' funcionaba perfectamente en el script, pero no en una línea de comando (cronica de conexión en cadena). Gracias Daniel! – Vacilando

1

tratan de escapar % y no utilice acentos abiertos a encose date -command. No encerrarlo con $():

expr $(date +\%W) % 2 > /dev/null && curl https://mysite.com/myscript 

O

expr $(date +\%W % 2) > /dev/null && curl https://mysite.com/myscript 
Cuestiones relacionadas