2014-11-25 20 views
5

mam problemu z cron curl:Znak procentu% nie działa w crontab

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

działa świetnie i dodać linię w pliku dziennika z TOTAL_TIME.

Ale ta sama linia z cronem nic nie robi.

To nie jest problem ze ścieżką, ponieważ działa curl http://myurl.com >> ~/log.

+0

Możesz próbowano ucieczki '%'? 'curl -w" \% {time_total} \ n "' ... ' – fedorqui

+0

możliwy duplikat [błędu Cron z użyciem cudzysłowów] (http://stackoverflow.com/questions/3444595/cron-error-with-using- cytaty) – tripleee

Odpowiedz

7

% to specjalny znak dla crontab. Od man 5 crontab:

„szóstym” pole (reszta linii) określa komendę, aby być run. Cała część polecenia linii, aż do znaku nowej linii lub znaku "%" , zostanie wykonana przez/bin/sh lub przez powłokę określoną jako w zmiennej SHELL pliku cron. Znak "%" w komendzie , o ile nie został zignorowany z ukośnikiem odwrotnym (\), zostanie zmieniony na znakami nowego wiersza, a wszystkie dane po pierwszym% zostaną wysłane do polecenia jako standardowe wejście.

Więc trzeba uciec % charakter:

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

do

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

Działa, dzięki :) – user3647822