2011-08-15 7 views
31

Herer là file crontab của tôi (Ubuntu 10.10):Crontab lỗi cú pháp

57 1 * * 2-6 ET=`date --date 'yesterday'+%Y%m%d`;echo $ET 

Thậm chí Màu cú pháp chỉ ra rằng cái gì là sai. và có lỗi này:

Subject: Cron <root> ET=`date --date 'yesterday' + (failed) 
Content-Type: text/plain; charset=ANSI_X3.4-1968 
X-Cron-Env: <SHELL=/bin/sh> 
X-Cron-Env: <HOME=/root> 
X-Cron-Env: <PATH=/usr/bin:/bin> 
X-Cron-Env: <LOGNAME=root> 

/bin/sh: Syntax error: EOF in backquote substitution 

Nhưng tôi không chắc chắn có gì sai. Cảm ơn rất nhiều!

Trả lời

70

Cron cần phải thoát khỏi dấu% - http://www.hcidata.info/crontab.htm

Hãy thử nó với một dấu chéo ngược:

57 1 * * 2-6 ET=`date --date 'yesterday' +\%Y\%m\%d`;echo $ET 
+0

Vâng nó hoạt động! Nhưng một khoảng trống là cần thiết giữa 'yeaterday' và +.57 5 * * 2-6 ET = 'date --date 'ngày hôm qua' + \% Y \% m \% d'; – DocWiki