Hallo,
warum bringt mir folgender Eintrag in crontab:
57 3 8-31 * * root DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if
[ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi
folgende Fehler zurück:
Subject: Cron
* Markus Kolb schrieb am 28.Apr.2003:
Hallo,
warum bringt mir folgender Eintrag in crontab:
57 3 8-31 * * root DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if [ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi
folgende Fehler zurück:
Subject: Cron
DAY=`date + X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: /bin/sh: -c: line 1: unexpected EOF while looking for matching ``' /bin/sh: -c: line 2: syntax error: unexpected end of file
Ein /bin/sh -c "DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if [ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi" funktioniert prima. Was meckert cron an den `` an?
cron ist keine shell Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht widerstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
Bernd Brodesser wrote:
* Markus Kolb schrieb am 28.Apr.2003:
Hallo,
warum bringt mir folgender Eintrag in crontab:
57 3 8-31 * * root DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if [ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi
folgende Fehler zurück:
Subject: Cron
DAY=`date + X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: /bin/sh: -c: line 1: unexpected EOF while looking for matching ``' /bin/sh: -c: line 2: syntax error: unexpected end of file
Ein /bin/sh -c "DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if [ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi" funktioniert prima. Was meckert cron an den `` an?
cron ist keine shell
Ist mir bekannt, geht es auch ein wenig ausführlicher? Cron übergibt aber die Einträge an eine shell die unter der angegebenen UID läuft. Die Fehler werden auch von der shell geliefert. Was macht cron bei der Übergabe an eine shell anders als ich am Prompt?
Bernd Brodesser wrote:
* Markus Kolb schrieb am 28.Apr.2003:
Hallo,
Hi,
warum bringt mir folgender Eintrag in crontab:
57 3 8-31 * * root DAY=`date +%w`; if [ -x /backup/backup.sh ]
; then if
[ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi
folgende Fehler zurück:
Subject: Cron
DAY=`date + X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: /bin/sh: -c: line 1: unexpected EOF while looking for matching ``' /bin/sh: -c: line 2: syntax error: unexpected end of file
Ein /bin/sh -c "DAY=`date +%w`; if [ -x /backup/backup.sh ] ; then if [ $DAY = 0 ] ; then /backup/backup.sh 1 ; fi ; fi" funktioniert prima. Was meckert cron an den `` an?
cron ist keine shell
Ist mir bekannt, geht es auch ein wenig ausführlicher? Cron übergibt aber die Einträge an eine shell die unter der angegebenen UID läuft. Die Fehler werden auch von der shell geliefert. Was macht cron bei der Übergabe an eine shell anders als ich am Prompt?
Warum packst du die Zeile nicht einfach in ein script und lässt das im Cronjob laufen? Erhöht nebenbei auch noch ein bischen die Übersicht in der crontab. V.Lieder
Volker Lieder wrote: [...]
Warum packst du die Zeile nicht einfach in ein script und lässt das im Cronjob laufen? Erhöht nebenbei auch noch ein bischen die Übersicht in der crontab. V.Lieder
Ich hatte eigentlich nicht vor für jeden crontab-Eintrag ein eigenes File anzulegen. Aber anscheinend geht es nicht anders. Danke.
Markus Kolb wrote:
Ich hatte eigentlich nicht vor für jeden crontab-Eintrag ein eigenes File anzulegen. Aber anscheinend geht es nicht anders.
Doch, du hast es ja schon vorgemacht: * * * * * sh -c "DATE=`date +%Y%m%d` echo $DATE" klappt, weil hier nicht cron die `` sieht, sondern die sh. Aber es gibt auch ein Line-Length Limit in cron und der Uebersicht ist diese Methode auch nicht zutraeglich. Peter -- Falls dir meine Antwort nicht passt -> hast du http://www.lugbz.org/documents/smart-questions_de.html gelesen und befolgt?
Moin Markus, * Markus Kolb schrieb am 28 Apr 2003:
Bernd Brodesser wrote:
* Markus Kolb schrieb am 28.Apr.2003:
warum bringt mir folgender Eintrag in crontab:
[ ... ]
folgende Fehler zurück:
[ ..] /bin/sh: -c: line 1: unexpected EOF while looking for matching ``' /bin/sh: -c: line 2: syntax error: unexpected end of file
cron ist keine shell
Cron übergibt aber die Einträge an eine shell die unter der angegebenen UID läuft. Die Fehler werden auch von der shell geliefert. Was macht cron bei der Übergabe an eine shell anders als ich am Prompt?
cron ist keine shell. ... Wenn du am Prompt etwas eingibst, dann machst du das mit einer Funktion der Shell. Wenn cron der Shell was übergibt, macht es das nicht mit einer Shellfunktion. Nimm ein Shellscript. Gruß, Sebastian -- Do not meddle in the affairs of wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
participants (5)
-
B.Brodesser@t-online.de
-
Markus Kolb
-
Peter Wiersig
-
Sebastian Helms
-
Volker Lieder