Zum Inhalt springen

_Martin_

Mitglieder
  • Gesamte Inhalte

    60
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von _Martin_

  1. Ich habe den Fehler reproduzieren können, Schuld ist das Bash Script. :mod: So geht es: #!/bin/bash ##### Temporären Speicher ermitteln ramstring=$(free | grep Mem) swpstring=$(free | grep Swap) ramused=$(echo $ramstring | cut -d" " -f3) #echo $ramused ramtotal=$(echo $ramstring | cut -d" " -f2) #echo $ramtotal echo $((($ramused * 100 / $ramtotal * 100) / 100 )) swpused=$(echo $swpstring | cut -d" " -f3) if [ $swpused -eq "0" ] then echo "0" exit 0 fi #echo $swpused swptotal=$(echo $swpstring | cut -d" " -f2) #echo $swptotal echo $((($swpused * 100 / $swptotal * 100) / 100 )) ~ ~ Dann fehlt nur noch der Code, der nach den beiden Zahlen noch uptime + hostname ausgibt.
  2. Wessen crontab ist das - root? Hast du einen anderen User für MRTG eingerichtet, der nicht über Zugriffsrechte auf das Verzeichnis /etc/mrtg/ verfügt? Funktioniert der Befehl direkt in der Shell wirklich - lass mal die Umleitungen nach /dev/null raus? Wie sieht das Script aus - steht das Sha-Bang (#!/bin/bash) direkt am Anfang? Hat das Script +x Recht? Welche SHELL steht in der crontab? Hast du die Zeile in der crontab mit einem ENTER abgeschlossen? Ansonsten poste bitte mal die entsprechende MRTG .cfg und das Script
  3. Sieht doch schon nicht schlecht aus Der Befehl uptime gibt bei mir allerdings Folgendes zurück: 18:31:30 up 87 days, 8:03, 1 user, load average: 0.00, 0.00, 0.00 Wenn auf deinem System auch die Tage angezeigt werden, kannst du nicht mit dem cut Befehl arbeiten. Ich mache es über cat /proc/uptime, das liefert die uptime in Sekunden, welche sich einfach in Tage, Stunden, Minuten umrechnen lässt. Die Uptime und der Hostname wird auf der Seite mit den Monats- und Jahresstatistiken angezeigt.
  4. Das sieht doch schonmal gut aus. Die korrekte Zahl "3" wird zurückgegeben, leider mit Leerzeichen drumherum, so dass MRTG damit nichts anfangen kann. Du kannst nun 2 Sachen machen: 1. statt SNMP direkt über MRTG abzufragen, schreibst du ein Script (Bash oder Perl), dass den SNMP-Befehl ausführt und das Ergebnis formatiert ausgibt. Dieses Script gibst du dann als "Target" an. (siehe MRTG Manual -> Target -> External Script) Das Script muss immer genau 4 Zeilen zurückgeben: Input Output Uptime Machine Name Input und Output wären dann der SNMP-Wert für "Users", Uptime und Machine Name kannst du einfach feststellen (`cat /proc/uptime`, ggf. formatieren und `hostname`). 2. Du schreibst eine Perl-Subroutine, die die Rückgabe " 3 " in eine für MRTG verwertbare Zahl umwandelt (siehe MRTG Manual -> ConversionCode). Dazu erstellst du eine Datei "MyConversions.pl" (in mrtg/bin) mit dem Inhalt sub bla { my $value = shift; if ($value =~ /(\d+)/) { return $1; } else { return undef; } } Nicht getestet! Anschliessend nimmst du diese Global Option in deine .cfg auf: ConversionCode: MyConversions.pl Und erweiterst das Target: Target[userstest]: ".1.3.6.1.2.1.25.1.5.0&.1.3.6.1.2.1.25.1.5.0:public@localhost|bla" Dadurch wird die nicht verwertbare Rückgabe " 3 " an die Subroutine bla weitergegeben; diese prüft, ob darin eine Zahl enthalten ist, und gibt diese zurück. Die Subroutine wird dabei 2x ausgeführt (für In und Out), daher wäre die 1. Möglichkeit von der Performance wahrscheinlich besser. HTH Martin
  5. Disclaimer: ich habe noch nie mit SNMP gearbeitet (leider), daher: keine Gewähr Ich würde sagen, MRTG kennt den Namen hrSystemNumUsers.0 nicht - welcher auch nicht in der Liste (doc/mrtg-mibhelp) steht. Du musst den Identifier selbst angeben. Kannst du den mit snmpwalk -v1 localhost -c public [b]-On[/b] hrSystemNumUsers.0 herausfinden?
  6. Das geht mit dem try...except bzw. try...finally Block - du solltest in der Delphi Hilfe genug dazu finden. Hier wird der except Block nur dann ausgeführt, wenn eine Exception auftritt (ansonsten wird zu das Programm nach dem end fortgesetzt): try // Anweisung, die Exception auslösen kann myInt = StrToInt(myStr); except // wenn eine EConvertError Exception auftritt on E: EConvertError do ShowMessage('Fehler bei Konvertierung: ' + E.Message); // bei einer anderen Exception else ShowMessage('Unbekannter Fehler. Ätsch!'); end; Bei der folgenden Variante wird der Block nach finally immer ausgeführt, also auch wenn keine Exception auftritt - praktisch bei Dateioperationen: // PSEUDOCODE try lies aus Datei; finally Datei schliessen; end; Zu Excel und OLE kann ich dir nicht helfen, aber Standard schreibt sich mit 'd' :floet:
  7. Mal das Geblubber rausgelassen: Engagement gehört dazu, das ist klar. Auch Überstunden gehören dazu. Aber 70 Stunden, nein. Dabei ist mir auch egal, ob das bezahlt wird oder nicht. Ansonsten sehe ich es so wie l0rDi - wenn der Arbeitgeber eine hohe Leistung verlangt, soll er dafür auch bezahlen.
  8. Hast du mysql_insert_id() mal probiert? -> http://de3.php.net/manual/de/function.mysql-insert-id.php
  9. Vielleicht geht es so: 1. du installierst auf /dev/hda3 ein minimales Linux (SuSE ohne grafische Oberfläche?!) 2. du mountest /dev/hda2 und erstellst aus der kompletten Partition ein tar-Archiv (mit Optionen wie preserve-links, preserver-owner etc. pp.) nach /dev/hda3/backup oder so 3. testen: /dev/hda2 formatieren, mit /dev/hda3 booten, Archiv wieder entpacken 4. du schreibst ein Script, dass /dev/hda2 formatiert und das Archiv dorthin entpackt; dieses Script kannst du ggf. auch in den Autostart einbinden Viel zu tun
  10. Nie im Leben würde ich 70 Stunden arbeiten. Dann am Besten noch für einen festen Lohn, bei dem "mit dem Lohn alle Arbeitsleistungen abgegolten sind" -> Überstunden werden nicht bezahlt. Jeden Tag (inkl. Samstag) von 7:00 bis 18:30 (plus Pausen also eher 19:30) arbeiten? :eek: Ist wohl eine Einstellungssache; ich zumindest lebe nicht, um zu arbeiten.
  11. Geht auch mit Bash-Mitteln: if [ "${QDIR:0:1}" == "/" ]; then echo Slash am Anfang! fi if [ "${QDIR:(-1)}" == "/" ]; then echo Slash am Ende! fi -> http://www.tldp.org/LDP/abs/html/string-manipulation.html
  12. AFAIK gibt es die Variablen %time% und %date% unter Win NT 4.0 nicht, und bei der "Substring" Funktion (%:~x,y%) bin ich mir auch nicht sicher. Schau am Besten mal die Hilfe zu der SET Funktion an. Wenn NT 4.0 den FOR Befehl mit einem Kommando als einzulesende Datei unterstützt, kannst du das Datum auch so in eine Variable schreiben: FOR /F "tokens=1-4" %%a IN ('cmd /c "echo. | date"') DO IF "%%a"=="Aktuelles" SET datum=%%d Das funktioniert so: - es wird das Kommando in der Klammer ausgeführt: cmd /c "echo. | date" - cmd startet eine neue "Shell" - und führt dort den Befehl date aus - Anschliessend wird ein "echo." dort reingepipet, das wirkt so, als würdest du selbst ENTER drücken - die "Shell" wird beendet, und ihre Ausgabe durch den FOR-Befehl bearbeitet Die Ausgabe ist (unter Windows 2000): Aktuelles Datum: Mi 13.10.2004 Geben Sie das neue Datum ein: (TT-MM-JJ) Der FOR-Befehl arbeitet diese beiden Zeilen nacheinander ab und prüft, ob das 1. Token (%%a) der String "Aktuelles" ist - wenn ja, wird der 4. Token (%%d) in die Variable %datum% geschrieben. Die Token werden hierbei durch Leerzeichen getrennt, d. h. das 4. Token ist eben das aktuelle Datum. Wenn die Ausgabe von "date" unter NT 4.0 anders ist, musst du die Befehle entsprechend anpassen. HTH PS: du kannst auch Zeichen in einer Variable ersetzen - das erspart dir das "Zusammenfrickeln" der %zeit% Variable: %zeit:[b]:[/b]=[b]-[/b]% ersetzt alle ":" in %zeit% durch "-".
  13. Was ist das denn für eine schwachsinnige Aufgabe :confused:
  14. Vorschläge: - ein @ECHO OFF am Anfang genügt - dann brauchst du später kein @ECHO mehr - prüfe vor dem Kopieren mit xcopy, ob die Zieldatei schon vorhanden ist, nicht danach (dann hast du sie ja schon überschrieben :confused: ) - schau dir den DOS-Befehl FOR an - benutze Variablen; schreib z.B. das Datum in eine Variable (das geht mit FOR) und benutze sie später beim Kopieren als Teil des Dateinamens - arbeite mit weniger GOTO, dafür mit mehr Klammern: IF ERRORLEVEL 255 ( ECHO Fehler! ) ELSE ( ECHO Alles OK! )
  15. Da ich den Zweck recht albern finde, nur eine kurze RTFM-Antwort: Delphi hat eine integrierte sehr gute Hilfe mit Beispielen. Dein Zauberwort heisst TRegistry.
  16. Verstehe ich nicht - im 7bit ASCII Code gibt es keine deutschen Umlaute. Die gibt es erst mit z.B. ANSI, das aber bereits 8bit lang ist - da kannst du also kein Prüfbit mehr anhängen. :confused:
  17. Frag deinen Chef/Ausbilder/Personaler oder wer sonst für Urlaub zuständig ist. Ich denke nicht, dass da gesetzlich was geregelt ist; eigene Erfahrung: mir wurde Urlaub gewährt (auch wenn oder vielleicht gerade weil es nur 1 Tag war).
  18. Ich sehe das auch so wie Menzemer. Ein 12 Stunden Tag (wenn du da nicht etwas übertrieben hast mit der Arbeitszeit?!) ist absolut unzulässig! Lass dich nicht benutzen. Vielleicht kennst du einen Anwalt in deinem Bekanntenkreis, oder such dir einen. Poche auf deinen Vertrag, und wenn es hart auf hart kommt, mach pünktlich nach 8 Stunden Schluss! Wenn deinem Chef das nicht passt, kann er dir ja gerne kündigen. Kündige nicht selbst, unterschreibe keinen Aufhebungsvertrag! Immer dran denken: das ist eine Ausbildung, du sollst dort etwas lernen und nicht deinem Chef als billiges Arbeitsmaterial dienen. Wehre dich! (Sorry, mir geht bei so etwas immer ein wenig die Hutschnur hoch)
  19. Ein paar mehr Angaben bitte - Betriebssystem, Patch Level, Firewall/Virenscanner? Dann schalt mal den "Automatischen Neustart" ab, so solltest du beim Bluescreen die Meldung lesen + notieren können: Systemsteuerung -> System -> Erweitert -> Starten und Wiederherstellen -> Systemfehler -> "Automatisch neustarten" aus.
  20. Lass dich nicht unterkriegen! In deinem Ausbildungsvertrag steht bestimmt drin, dass deine regelmässige tägliche Arbeitszeit 8 Stunden beträgt, und das darf dann nicht überschritten werden. In Ausnahmefällen und mit einer Vergütung (Freizeitausgleich) dürfen bis zu 10 Stunden gearbeitet werden (wenn du über 18 bist). "Überstunden inklusive" mag in Arbeitsverträgen vorkommen, im Ausbildungsvertrag jedoch nicht. @Topic: 8 Stunden Tag mit relativ freier Gestaltung - komme meist um 9:00 und gehe gegen 17:30 oder so.
  21. Liegt deine Root-Partition denn wirklich in /dev/hda1, oder hast du das nur aus der Google-Suche abgeschrieben? hda1 = erste primäre Partition; hda2..4 = zweite, dritte, vierte primäre Part. hda5..hdaX = logische Laufwerke in einer erweiterten Partition. Schau mal in die Datei /etc/fstab, dort steht drin, welche Partition nach / gemountet wird, ungefähr so: # filesystem mount-point fs-type options dump fsck-order /dev/hda1 swap swap defaults 0 0 [b]/dev/hda2 /[/b] ext3 defaults 1 1 Nach Änderungen an der lilo.conf musst du unbedingt den MBR neu installieren, indem du lilo ausführst.
  22. Korrekt, genau das ist das Problem. Schreib alles in eine Zeile: <td style="text-align: center;"><a href="http://www.st-carstyling.de/testHP/?PHPSESSID=27f3f4c4d4fe22c1f0b475f1f09e27a9"><a href="http://www.st-carstyling.de/testHP/index.php?&PHPSESSID=27f3f4c4d4fe22c1f0b475f1f09e27a9"><img src="head0000.jpg" alt="ST-Carstyling - Exklusives Fahrzeugzubehör" border="0" width="800" height="160" /></a></a></td> Dann erkennt es sogar der dämliche Internet Explorer. Jaja, der IE, ist doch immer wieder für eine Überraschung gut
  23. Benutzt du keine Firewall? Dann hast du dir eventuell einige Würmer eingefangen, diese lasten den Rechner stark aus (durchsuchen die Festplatte nach Mail-Adressen und schicken tonnenweise Mails), dadurch läuft die CPU zu heiss und der Rechner stürzt ab. Eine ziemlich gewagte Theorie - solltest du keine Firewall drauf haben, hol das schnellstmöglich nach, kontrolliere, was für Prozesse laufen und was im Autostart/der Registry in den bekannten Schlüsseln steht.
  24. Normalerweise die in /etc/apache, du scheinst aber zumindestens einen weiteren Apache unter /usr/apache_29 installiert zu haben. In der Prozessliste (ps auxf) solltest du erkennen können, welcher Apache läuft.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...