2014-11-25 16 views
5

Ho un problema con cron curl:Segno di percentuale% non funziona in crontab

curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log 

funziona alla grande e aggiungere una riga nel file di log con TOTAL_TIME.

Ma la stessa riga con cron non fa nulla.

Non è un problema di percorso perché curl http://myurl.com >> ~/log funziona.

+0

Hai provato a fuggire ''%? 'curl -w" \% {time_total} \ n "' ... ' – fedorqui

+0

possibile duplicato di [Errore cron con utilizzo di backquote] (http://stackoverflow.com/questions/3444595/cron-error-with-using- backquotes) – tripleee

risposta

7

% è un carattere speciale per crontab. Da man 5 crontab:

Il campo "sesto" (il resto della linea) Specifica il comando per essere corsa. L'intera porzione di comando della riga, fino a un carattere di fine riga o "%" , verrà eseguita da/bin/sh o dalla shell specificata nella variabile SHELL del cronfilo. Un carattere "%" nel comando , a meno che l'escape con una barra rovesciata (\), verrà modificato in caratteri di nuova riga e tutti i dati dopo la prima% verranno inviati a il comando come input standard.

Quindi è necessario per sfuggire al carattere %:

curl -w "%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log 

a

curl -w "\%{time_total}\n" -o /dev/null -s http://myurl.com >> ~/log 
     ^
+1

Funziona, grazie :) – user3647822

Problemi correlati