Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

05.02.2011, 11:50

[gelöst]warum in cron job funktioniert es nicht?

Hallo zusammen,

kann jemand bitte mir sagen, warum funktioniert das als Skript in cron job nicht:

#!/bin/bash
cat text1.txt | grep ok > text2.txt
sleep5
rm -f text1.txt
----ende---

Wenn das Skript (gleiche) manuell geführt ist, dann funktioniert es. :?

Interessant ist, dass in cron job wird rm -f txt1.txt gelöscht????!!!! aber text2.txt nicht erstellt.

Also, manuell das Skript läuft 100%, aber in cron wird beim (cat text1.txt | grep ok > text2.txt) nicht gemacht und text1.txt doch gelöscht.

WARUM cat in cron funktioniert NICHT????

Bitte um Hilfe.

Gruß

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »General« (06.02.2011, 00:36)


linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

05.02.2011, 19:09

in cron-scripten gibt man immer komplette pfade an, am besten auch für die kommandos, denn die shell in der die kommandos aufgerufen werden, ist nicht interaktiv und damit sind pfad und sucheinstellunegn der shell anders.

es ist schon ein wunder, dass die text1.txt datei überhaupt gelöscht wird, denn woher soll dein cronscript wissen, wo die in deinem system liegt!
bisschen logisch denken hilft manchmal.
wenn du dein script in einem anderen verzeichnis ausführst, funktioniert es auch in der interaktiven shell nicht, denn die datei text1.txt wird im momentanen arbeitsverzeichnis gesucht.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

3

06.02.2011, 00:33

in cron-scripten gibt man immer komplette pfade an, am besten auch für die kommandos, denn die shell in der die kommandos aufgerufen werden, ist nicht interaktiv und damit sind pfad und sucheinstellunegn der shell anders.

es ist schon ein wunder, dass die text1.txt datei überhaupt gelöscht wird, denn woher soll dein cronscript wissen, wo die in deinem system liegt!
bisschen logisch denken hilft manchmal.
wenn du dein script in einem anderen verzeichnis ausführst, funktioniert es auch in der interaktiven shell nicht, denn die datei text1.txt wird im momentanen arbeitsverzeichnis gesucht.
Vielen Dank Linuxerr!

so ein Anfänger bin ich nicht. Das Script ist nur Beispiel „cat“ Problematik bei mir auf dem Server.
Es geht um Nagios Server, wo überwache ich 433 Hosts. Deswegen laufen auf dem Server XML-Skripten.
Ich verstehe immer noch nicht warum Corntab + Skript + cat (nur auf dem Server) zusammen nicht funktionieren. Ich habe auf 2 Server das gleiche probiert und es hat immer geklappt.

Na ja, ich habe jetzt das Problem so gelöst, wo ich „cat“ als corn job direkt eingetragen habe.
Also direkt in crontab und nicht im Skript.

Nochmal Herzlichen Dank

Thema bewerten