Samba mit Beleuchtung

    • Best Answer
    • Official Post

    Hatte auch gehofft, jetzt könnte ich sehen, ob meine Festplatte ordnungsgemäß im Netzwerk zur Verfügung steht.

    Das könnte man zur Not mit einbauen. Dafür würde ich eine Datei auf die HDD legen und testen, ob die ansprechbar ist.



    Das obige Skript habe ich mal um ein paar Zeilen, die mit # <<< gekennzeichnet sind erweitert. Ist die Datei test.txt nicht erreichbar, dann blinkt die LED.

  • Habe das Skript analog zu deinem ergänzt und erstmal auf der Konsole getestet.


    Leider kommt die Ausgabe: "Testdatei nicht gefunden"


    Pfadangaben:


    '/Toshiba/samba.txt' anstelle von 'Toshiba/samba.txt' hat keinen Effekt.


    An Zugriffsrechten dürfte es nicht liegen. Die Datei wurde mit nano /srv/dev-disk-by-uuid-902306e2-8ff1-4f86-b77e-7b1bdec2fc86/Toshiba/samba.txt erstellt.

    • Official Post

    Eigentlich ist es nicht so mein Ding fertigen Code zu posten, weil mir oft die Zeit fehlt und vor allem dabei die Hilfe zur Selbsthilfe zu kurz kommt und ich möchte, dass andere dabei etwas lernen, aber das Projekt hat mich dann doch interessiert. Sorry dafür! ;)


    Wenn das Thema für Dich erledigt sein sollte, dann markiere das bitte noch als solches! (oben unter Thema bearbeiten) Danke!

  • Jetzt hat sich im Nachinein doch noch eine Frage ergeben:


    Da ich gerne jede Veränderung in meine Logdatei schreibe, leite ich auch bei diesem Skript sämtliche print-Befehl in meine Logdatei um. Allerdings ist es wenig praktisch immer wieder die gleiche Meldung zu protokollieren (und das alle 5 Sekunden).


    Gibt es die Möglichkeit zB die Ausgabe "Samba-Server läuft..." lediglich einmal auszugeben?




    Ich habe bisher immer eine Variable für sowas verwendet. Da hier aber eine Funktion aus einer anderen Funktion heraus aufgerufen wird, kann ich keine "zu Beginn des Skriptes gültige Variable" definieren. Jede später definierte Variable wird bei jedem Aufruf der Funktion wieder neu übergeben und setzt meine Technik außer Kraft. Auch mit return lässt sich das nicht umgehen.

    Ständig kommen mir entweder falsch Werte, NameError: name 'xxxx' is not defined oder UnboundLocalError: local variable 'xxxx' referenced before assignment um die Ohren geflogen. Ich mag echt nicht mehr.

  • Hallo,


    funktioniert es so?:

    Dass ist das Skript von hyle und du musst die 'print'-Anweisung noch ändern, damit dein Text in deine gewünschte Datei geschrieben wird.


    Grüße

    Dennis

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

    • Official Post

    Gibt es die Möglichkeit zB die Ausgabe "Samba-Server läuft..." lediglich einmal auszugeben?

    Das der Server läuft und funktioniert, muss man ja nicht in eine Log schreiben. Interessant sind ja eigentlich nur die Situationen, in den der Fehlerfall auftritt, damit man dann darauf reagieren kann. ;)

  • Gibt es die Möglichkeit zB die Ausgabe "Samba-Server läuft..." lediglich einmal auszugeben?


    Könnte man hinbiegen, indem man z.B. eine Klasse erstellt, die sich immer die letzte Meldung merkt und nur dann etwas ausgibt, wenn sich die Meldung von der vorherigen Meldung unterscheidet.





    Ich habe die Instanz p genannt. printer wäre besser gewesen.

    Wenn du die Instanz stattdessen printer nennst, musst du überall, wo die print funktion verwendet wird, es durch printer.print("text") ersetzen.


    Da es aber eher ums Logging geht, verweise ich mal hier drauf: https://stackoverflow.com/ques…logging-module-aka-log-co


    Quote

    INFO:root:Test

    WARNING:root:Warn

  • Könnte man hinbiegen, indem man z.B. eine Klasse erstellt, die sich immer die letzte Meldung merkt und nur dann etwas ausgibt, wenn sich die Meldung von der vorherigen Meldung unterscheidet.



    DAS hat funktioniert! Klasse! ;)

    Edited once, last by FigUhr: Nachdem ich die Lösung umsetzen konnte, habe ich meine ursprüngliche Nachricht ersetzt, damit das Thema hier zum Abschluss kommen kann. ().