Verkettung von Strings und Variablen

estre

Commander
Registriert
Dez. 2005
Beiträge
3.006
Hallo zusammen,

ich habe ein Problem beim Verketten von Strings und Variablen in der Linux-Shell

Und zwar möchte ich folgenden Cronjob ausführen:

0 0 * * * /usr/bin/nmon -F /home/informix/nmon_data/auswertung_`date +%Y%m%d`.nmon -A -t -s30 -c1439

Leider bricht der Job mit folgender Fehlermeldung ab:
ERROR nmon invalid option "Mar"


Meine Vermutung:
Scheinbar kann der übergebene Dateipfad an den nmon-Befehl nicht komplett ausgewertet warden. Das „Mar“ in der Fehlermeldung scheint auf die date-Variable zurück zu führen.
Irgendwie scheint das Format des „date“ nicht klar zu sein.

Habt ihr eine Idee was ich ändern muss ?

Danke!

Grüße
 
Ich würde den Aufruf in ein Skript packen und nur das Skript von Cron aus aufrufen.
Backticks in der Crontab, hab ich ehrlich gesagt nie verwendet, und scheint mir auch keine schöne Lösung zu sein.
 
Wo kommt denn das "Mar" her?

date +%Y%m%d sollte in etwa sowas ausgeben: 20120327
"Mar" sollte nur kommen bei: date +%Y%b%d -> 2012Mar27


Eventuell:
Code:
0 0 * * * /usr/bin/nmon -F "/home/informix/nmon_data/auswertung_`date +%Y%m%d`.nmon" -A -t -s30 -c1439

Oder den Tipp des Vorposters wahrnehmen und einfach nur nen Script aufrufen und den Aufruf im Script verpacken.
 
hey,

zunächst mal danke für Eure Antworten!

@MainframeX
gebe dir da grundsätzlich recht, aber in diesem Fall handelt es sich wirklich nur um eine Codezeile, da finde ich es schönes das ganze ohne Skript zu lösen, die Mittel dazu sind ja vorhanden.

ich habe es nun hinbekommen und folgendermaßen gelöst:
0 12 * * 2 /usr/bin/nmon -F /home/informix/nmon_data/auswertung_`date +"\%Y\%m\%d"`.nmon -A -t -s30 -c1439

Ursprünglich fehlten also die Hochkommas und die "\" als Maskierung, oder welche Funktion sie auch immer haben.


Grüße
 
Zurück
Oben