Probleme beim Ausführen eines Cron-Jobs in Unix, der einen dynamischen Dateinamen für einen Ausgabedatensatz generiert

540
Ian

Ich versuche, einen MySQL-Datenbankspeicherauszug mithilfe von cron einzuplanen, aber ich bekomme eine Fehlermeldung für Code, von dem ich weiß, dass er funktioniert, wenn ich direkt in Shell aufrufe.

Hier ist der Code, der in Shell perfekt funktioniert:

mysqldump -uUSER -pPASS DB > "/path/to/backup/backup_`date +%Y%m%d%H%M%S`.sql" 

Wenn ich jedoch einen Cron-Job eingerichtet habe, wird der folgende Fehler angezeigt:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of file 

Kann mir jemand sagen, was ich falsch mache?

Prost, Ian.

1

1 Antwort auf die Frage

2
John T

Versuchen:

mysqldump -uUSER -pPASS DB> / Pfad / zu / backup / backup_`date + "\% Y \% m \% d \% H \% M \% S" `.sql

Eine einfachere Lösung für die Zukunft wäre, Ihren Befehl, der in bash funktioniert, in ein Shell-Skript zu platzieren, und dann das Shell-Skript von cron aus auszuführen. Wenn es in Bash funktioniert, funktioniert es in einem Shell-Skript.

Ich habe wieder vergessen zu fliehen, oder? Danke für Ihre Hilfe. Ian vor 14 Jahren 0
Häufiger Fehler. Jederzeit :) John T vor 14 Jahren 0