Page 1 of 1
Ausgabe in eine Datei
Posted: 2005-07-09 20:28
by dani_ch
Hallo zusammen
Ich habe folgendes Skript gemacht:
Code: Select all
#!/bin/sh -
read x x PUSER x PNICE x PSYS x PINT x PIDLE x <<daer
$(top -n1 | grep "CPU states:")
daer
echo "User: $PUSER"
echo "Nice: $PNICE"
echo "System: $PSYS"
echo "Interrupt: $PINT"
echo "Idle: $PIDLE"
echo $PINT > /home/admin/idle.txt
Wenn ich das als root aufrufe, steht in idle.txt etwas, nämlich die Variable $PINT. Nun habe ich dieses Script als Cronjob eingerichtet, damit es vollautomatisch aufgerufen wird. Der Eintrag lautet wie folgt:
Code: Select all
*/1 * * * * root /home/admin/load.sh
Das Script wird auch aufgerufen und die Datei idle.txt erstellt. Aber die Datei ist einfach leer. Die Daten der Variable $PINT sind nicht drin.
Kann mir jemand sagen, wo da der Fehler liegt?
Besten Dank.
Re: Ausgabe in eine Datei
Posted: 2005-07-09 20:31
by bungeebug
Wie immer solltest du absolute Pfadangaben benutzen.
Re: Ausgabe in eine Datei
Posted: 2005-07-09 20:33
by dani_ch
hmm, habe ich bei top / grep nicht gemacht. aber auch nach der korrektur ist noch dasselbe problem vorhanden!!
und wenn ich vor echo auch noch /usr/bin/ stelle, dann ist die datei komplett leer, nicht mal mehr ein leerschlag drin.
Re: Ausgabe in eine Datei
Posted: 2005-07-09 20:57
by Joe User
Ich kann es gerade nicht selbst testen, aber eventuell hilft:
Re: Ausgabe in eine Datei
Posted: 2005-07-09 22:21
by flo
Bei mir kommt da überhaupt keine Ausgabe - wonach suchst Du?
Eventuell:
flo.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 00:38
by dani_ch
Joe User wrote:Ich kann es gerade nicht selbst testen, aber eventuell hilft:
hat leider auch nichts gebracht... :-(
wie gesagt, komisch ist, dass es klappt, wenn ich es als root manuell ausführe. sobald es aber als cronjob (unter dem user root) ausgeführt wird, klappt es nicht.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 00:39
by dani_ch
oder hat allenfalls jemand sonst eine idee, wie man die auslastung des cpus mittels cronjob in eine datei schreiben könnte?
also das in der datei beispielsweise 32% steht oder so?
Re: Ausgabe in eine Datei
Posted: 2005-07-10 00:44
by antondollmaier
uptime und dann umrechnen?
Re: Ausgabe in eine Datei
Posted: 2005-07-10 05:11
by flo
Dani_CH wrote:oder hat allenfalls jemand sonst eine idee, wie man die auslastung des cpus mittels cronjob in eine datei schreiben könnte?
also das in der datei beispielsweise 32% steht oder so?
Also, ich weiß nicht, wo bei Ausgabe von top "CPU States" stehen soll, aber nun gut - probier doch mal
Damit sparst Du Dir schon mal top.
flo.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 09:31
by dani_ch
Loadavg ist bei mir eben leider leer...vermutlich, weil es ein VServer ist. Daher bringt mir das leider nichts.
Habe nun gerade eine andere Variante versucht. Und zwar habe ich in einer Batch-Datei einfach folgendes geschrieben:
Also ohne irgendwie die Bash zu verwenden und Daten auszulesen. Das Resultat ist dasselbe. Wenn ich es manuell als Root ausführe, klappts. Und wenn ich es als Cronjob ausführe, ist das File leer.
Komische Sache.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 09:41
by dani_ch
antondollmaier wrote:uptime und dann umrechnen?
kannst du mir sagen, wie ich die uptime umrechnen kann? denn wenn ich diese ausgeben lasse, ist das file nicht leer! würde also klappen.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 09:45
by flo
Dani_CH wrote:
Also ohne irgendwie die Bash zu verwenden und Daten auszulesen. Das Resultat ist dasselbe. Wenn ich es manuell als Root ausführe, klappts. Und wenn ich es als Cronjob ausführe, ist das File leer.
top braucht gesetzte TERM-Umgebungsvariablen, um seine Ausgabe zu erzeugen.
flo.
Re: Ausgabe in eine Datei
Posted: 2005-07-10 09:48
by dani_ch
Diese müssten doch bei der Initialisierung der Shell gesetzt werden?
Re: Ausgabe in eine Datei
Posted: 2005-07-10 14:55
by Joe User
Dani_CH wrote:Diese müssten doch bei der Initialisierung der Shell gesetzt werden?
Nein, nicht zwangsläufig: /bin/sh != /bin/bash (man bash)
Setze mal Folgendes an den Anfang des Cronfiles und lösche die erste Zeile:
Re: Ausgabe in eine Datei
Posted: 2005-07-10 21:39
by dani_ch
Joe User wrote:Setze mal Folgendes an den Anfang des Cronfiles und lösche die erste Zeile:
hmm, hat leider nichts gebracht, das file ist noch immer leer. :-(