OT: linux und cronjobs
daniel
- sonstiges
hallo alle zusammen,
ich weiß, es ist hier eigentlich OT, aber ich komm einfach nicht weiter... vielleicht kann mir ja jemand helfen?
ich versuche unter suse 8.0 eine apache-log datei wegzuschreiben und ihr dabei noch das aktuelle datum anzuhängen.
das ganze soll per cronjob passieren.
der eintrag in der entsprechenden crontab:
#!/bin/bash
* 20 30 * * cp /var/log/httpd/intra_net/it_log /var/log/httpd/history/it_log_old$(date +"%d-%m-%y")
das komische ist, wenn ich diesen befehl direkt über die shell aufrufe, klappt das prima - als cronjob bemkomme ich folgende fehlermeldung:
/bin/sh: -c: line 1: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 2: syntax error: unexpected end of file
irgendwas mit der schreibweise...???? aber was????
vielen dank für euer verständnis (für das OT)
und vielen dank im voraus...
grüße,
daniel
Hi Daniel,
#!/bin/bash
* 20 30 * * cp /var/log/httpd/intra_net/it_log /var/log/httpd/history/it_log_old$(date +"%d-%m-%y")
Ein kurzer Workaround, der vieleicht hilft - ohne viel herumzuprobieren...
Schreibe die Zeile mit den Befehlen in ein eigenes Shellscript , mach es ausführbar (teste, ob der Aufruf der Datei selber das gewünschte Ergebnis bringt) und gib den Dateinamen im crontab an.
Ansonsten bin ich mir nicht sicher, ob man das "#! /bin/bash" in einer crontab angeben darf/kann.
Eigentlich blöde Frage, aber du hast den cronjob schon mit crontab -e erstellt?
Viel Glück:
Tobias
hi,
danke für die antwort. der cronjob an und für sich klappt hervorragend - sind noch ein paar andere sachen drin, die auch keine probleme machen.
aber die idee mit dem eigenen script war gut ;-)
habe den befehl jetzt in ein eigenes script geschrieben, und rufe das aus dem cronjob aus auf.
das wiederrum klappt prima !
danke !!!
grüße,
daniel