Ich versuche, einen Cronjob mit immer gem zu erstellen.Ruby string einfache Anführungszeichen, die Probleme verursachen
every 1.day, :at => "12:00pm" do
grep_part_of_command = '"@timestamp":"'+Date.today.to_s
command "cat logstash_development.log | grep '#{grep_part_of_command}' > todays_logstash_development.log"
end
Was will ich erreichen:
* * * * * /bin/bash -l -c 'cat logstash_development.log | grep '"@timestamp":"2016-04-20' > todays_logstash_development.log'
Aber wenn ich meine crontab öffnen, was ich bekommen ist:
* * * * * /bin/bash -l -c 'cat logstash_development.log | grep '\''"@timestamp":"2016-04-20'\'' > todays_logstash_development.log'
Beachten Sie die zusätzliche '\'
um die grep Matcher String.
Kann mir jemand helfen, meinen Fehler zu finden.
Nein eigentlich der obige Befehl, wenn ich direkt am Terminal endet zeigt einen rechten Winkel auf meinem Terminal. Sie können es mit einer Dummy-Datei versuchen. – adil
Imposibru! Die Ausgabe ist [korrekt] (http://s31.postimg.org/qu7pz7um3/echo.png). So interpretiert bash es. Ich habe versucht, es im ersten Absatz zu erklären. Nur für den Fall, Sie sind immer noch in Zweifel, einfache Zitate in der Bash-Programmierung oder sehen Sie genau das gleiche [wann immer Ausgabe] (https://github.com/javan/whenever/issues/327). – Uzbekjon
von oben Befehl ich meinte 'Katze logstash_development.log | grep '\' '"@ timestamp": "2016-04-20' \ ''> todays_logstash_development.log' – adil