• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Variablendeklaration in cronjob

Hi Liste.
Kann mir jemand sagen, wie ich in einem Cronjob eine variable Wertersetzung hinbekomme? Ich möchte die tatsächliche Zeit im Titel der Aufnahmen haben, die von cron erzeugt werden. Genaugenommen geht es um ein Problem mit Kalva. Wenn mit der aktuellen Version Serien aufgenommen werden, wird immer die letzte Aufnahme überschrieben, weil der Dateiname immer gleich ist (wegen fehlender Entwertung des date-Aufrufes). Ich dachte, wenn ich die Entwertung einbaue, klappt es, aber leider führt cron die Aufnahme dann gar nicht mehr aus. Ich weiss hier nicht mehr weiter.

Hier ist, was ich bisher vergeblich versucht habe:

Ursprünglich war es so gedacht:

Code:
/usr/bin/mencoder tv:// -tv driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0:width=720:height=576:channel=E10 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vratetol=40000:mbd=2:precmp=2:cmp=2:subcmp=2:aspect=1.7641 -oac mp3lame -lameopts abr:br=128:mode=0 -vf crop=688:416:16:80,pp=keydeint:14,denoise3d=5:4:7 -ffourcc DIVX -endpos 00:00:01 -o "/home/documents/Video/misc/aaa `/bin/date +%a_%d.%b.%G_%H%M%S` ARD.avi"

Erster Versuch mit Variablendeklaration
Code:
export DATE=`/bin/date +%a_%d.%b.%G_%H%M%S` && /usr/bin/mencoder tv:// -tv driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0:width=720:height=576:channel=E10 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vratetol=40000:mbd=2:precmp=2:cmp=2:subcmp=2:aspect=1.7641 -oac mp3lame -lameopts abr:br=128:mode=0 -vf crop=688:416:16:80,pp=keydeint:14,denoise3d=5:4:7 -ffourcc DIVX -endpos 00:00:01 -o "/home/documents/Video/misc/aaa $DATE ARD.avi"

Zweiter Versuch mit Variablendeklaration (Leerstelle vor schließendem Backtick)
Code:
export DATE=`/bin/date +%a_%d.%b.%G_%H%M%S ` && /usr/bin/mencoder tv:// -tv driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0:width=720:height=576:channel=E10 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vratetol=40000:mbd=2:precmp=2:cmp=2:subcmp=2:aspect=1.7641 -oac mp3lame -lameopts abr:br=128:mode=0 -vf crop=688:416:16:80,pp=keydeint:14,denoise3d=5:4:7 -ffourcc DIVX -endpos 00:00:01 -o "/home/documents/Video/misc/aaa $DATE ARD.avi"

Bei allen drei Varianten meckert Cron, weil er angeblich den schließenden Backtick nicht findet.

Versuch 3
Code:
export DATE=$(/bin/date +%a_%d.%b.%G_%H%M%S) && /usr/bin/mencoder tv:// -tv driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0:width=720:height=576:channel=E10 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vratetol=40000:mbd=2:precmp=2:cmp=2:subcmp=2:aspect=1.7641 -oac mp3lame -lameopts abr:br=128:mode=0 -vf crop=688:416:16:80,pp=keydeint:14,denoise3d=5:4:7 -ffourcc DIVX -endpos 00:00:01 -o "/home/documents/Video/misc/aaa $DATE ARD.avi"

Cron meckert, weil er angeblich die schließende Klammer nicht findet.

Es ist enorm wichtig, dass bei jeder Aufnahme, die von cron gestartet wird, ein anderer Dateiname entsteht. Ich hoffe, jemand kann mir helfen.
Gruß,
Andreas
 
OP
taki
Nun, ich kann mir jetzt selbst antworten. So etwas triviales...

Die Prozentzeichen verträgt cron nicht, wenn sie entwertet werden, dann klappt es auch mit cron!
 
Oben