2016-07-20 5 views
3

I

0 5 1 * * goaccess -f /var/log/nginx/access.log -a > /home/xan/reports/report-week-$(date +%Y.%m.%d).html 

aber crontab immer beklagt, dass hinzufügen möchten:

Subject: Cron <[email protected]> goaccess -f /var/log/nginx/access.log -a > /home/xan/reports/report-week-$(date + 
MIME-Version: 1.0 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: 8bit 
X-Cron-Env: <SHELL=/bin/sh> 
X-Cron-Env: <HOME=/root> 
X-Cron-Env: <PATH=/usr/bin:/bin> 
X-Cron-Env: <LOGNAME=root> 
Message-Id: <[email protected]> 
Date: Fri, 01 Jul 2016 05:00:01 +0200 

/bin/sh: 1: Syntax error: end of file unexpected (expecting ")") 

Was die richtige Syntax, um das zu tun?

Antwort

3

% hat eine besondere Bedeutung in einer crontab (es stellt eine neue Zeile dar), also müssen Sie es entschlüsseln, um ein wörtliches Prozentzeichen anzugeben.

0 5 1 * * goaccess ... > /home/xan/reports/report-week-$(date +\%Y.\%m.\%d).html 
+0

Für welche Crons funktioniert das? Meine crontab Seite sagt, dass Sie '\%' –

+0

Anscheinend das in meiner Vorstellung verwenden müssen, das, das 'printf' ähnelt. – chepner

+0

@chepter: Danke. Kannst du mir den Hinweis geben, welcher% in Cron ein Sonderzeichen ist? – somenxavier