ubuntuusers.de

Server neustarten alle 24h wenn niemand eingeloggt

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

keykiller

Anmeldungsdatum:
4. März 2009

Beiträge: 298

Hallo! Folgendes Problem:

Mein Rechner (ein spermicro mainboard), welchen ich als NAS/Intranet-Server einsetze, bekommt ab und zu einen nervigen Temperatur-Alarm. Ich vermute, das hängt mit einem Fehler in der Firmware zusammen, denn die Temperatur ist nicht wirklich zu hoch. Ein neustart hilft hier, dann ist der Alarm weg.

Mein Ziel ist es, diesen Neustart einmal alle x Stunden z.B. einmal alle zwei tage nachmittags um 3 neustarten, allerdings nur, wenn kein User per ssh/sftp/scp/rsync eingeloggt ist und keine verbindung mit dem SMB-Server aufgebaut wurde. Hatte schon drüber nachgedacht das ganze per who zu überprüfen, was ist allerdings, wenn die Verbindung unterbrochen wird, z.B. weil mein Laptop-Akku, leer ist.

Was ist also die beste variante, diesen neustart durchzuführen?

chilidude

Avatar von chilidude

Anmeldungsdatum:
18. Februar 2010

Beiträge: 867

Was besseres wie "who" und "shutdown" fällt mir nicht ein.

keykiller

(Themenstarter)

Anmeldungsdatum:
4. März 2009

Beiträge: 298

Soweit war ich auch schon 😉 Aber das Berücksichtigt keine Samba-User, oder?

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Sorry, ich verwende kein Samba - aber ist das nicht so, dass man die Nutzer am Server mittels smbstatus abfragen kann?

Was soll dein Script machen, wenn der Server genutzt wird? Warten? Zyklisch in Abständen nachfragen, ob endlich keiner drin ist?

Was soll die Frage mit dem Laptop-Akku? Willst du vom Läppi aus das Ding überwachen?

Kommst du an das System vom NAS ran? Inwieweit ist der Alarm nervig? Ist das akustisches Geheul? (abknipsen?)

keykiller

(Themenstarter)

Anmeldungsdatum:
4. März 2009

Beiträge: 298

Ich würde das script per Cron jeden nachmittag einmal Starten.

Das mit dem Laptop akku meine ich wie folgt: Ich baue Verbindung auf per ssh und wieder ab. who zeigt keine user. Ich baue verbindung auf und akku ist leer: who zeigt auf server immer noch den nutzer an, da session nicht ordnungsgemäß beendet wurde.

Das ding läuft auf dem NAS/Server (Server ist ein ATOM-Mainboard mit Ubuntu 12.04 Server)

Alarm ist akustsich via Speaker direkt auf Mainboard aufgelötet

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Die Restart-Lösung wäre mir zu unbefriedigend. Erstens ist es eine Not-Lösung und zweitens ist diese auch nicht einfacher hinzubekommen, wie zu erforschen, wer eigentlich den Alarm auslöst und sich dabei irrt.

Kommst du da nicht an Informationen ran? Kannst du im Zustand des Alarmes die Prozesstabelle liste und da evtl. Schlüsse ziehen, wer das überwacht? Irgendeiner macht ja den Alarmton. Wenn man den dann abschießt, müsste der Alarm aufhören. So in etwa würde ich vorgehen.

keykiller

(Themenstarter)

Anmeldungsdatum:
4. März 2009

Beiträge: 298

Jab ich schon versucht. Habe nichts gefunden. Vermute, dass es ne Bios-Sache ist. Wenn ich im Bios die lüfter auf "Normal" und nicht auf "Silent" einstelle, kommt es auch nicht. Aber das Mainboard mit nem Atom drauf braucht eigentlich gar keine Lüfter...

UrbanFlash Team-Icon

Avatar von UrbanFlash

Anmeldungsdatum:
21. Februar 2006

Beiträge: 5549

Wohnort: Wien

Wenn es wirklich der Speaker ist, dann kannst du den auch recht einfach deaktivieren. Das Modul dafür heißt "pcspkr" und sollte seit ein paar Jahren eigentlich automatisch in der Datei /etc/modprobe.d/blacklist.conf stehen. Testweise kannst du es mit

sudo modprobe -r pcspkr

beenden, dauerhaft dann mit dem Eintrag

blacklist pcspkr

in vorher erwähnten Datei.

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

das liegt nicht am BIOS.

Die Methode von UrbanFlash würde dann in einem solchen Fall auch nicht greifen. Aber die Idee ist gut, solange das wirklich so ist, wie du sagst: dass das Ding real nicht zu heiß wird.

Papamatti

Anmeldungsdatum:
13. September 2007

Beiträge: 590

Ist das vielleicht eine Drehzahlüberwachung für den Lüfter? Weil Du sagts ja bei Silent piepts und bei Normal nicht...Im BIOS gibts dazu keine Optionen?

Sicher, dass der Lüfter/Kühlkörper nicht mit Staub verdreckt ist und dadurch zu hohe Temperaturen entstehen?

Was ist das für ein Mainboard? (Hersteller, Bezeichnung, Typ.)

kizu

Avatar von kizu

Anmeldungsdatum:
31. Juli 2009

Beiträge: 677

Wohnort: Buchholz

Hallo keykiller,

Zum Thema angemeldete Sambabenutzer prüfen habe ich hier was:

1
2
3
sudo lsof [pfad]
#Beispiel:
sudo lsof /var/nas/data

Der Pfad ist der Ordner, der über Samba freigegeben ist. Sollte niemand auf den Smbserver zugreifen gibt es keine Ausgabe. Den Rest überlasse ich dir 😉

MfG, Daniel

keykiller

(Themenstarter)

Anmeldungsdatum:
4. März 2009

Beiträge: 298

Habe es jetzt gelöst über netzwerkverbindungen:

1
2
3
USERS_SSH=$(netstat -an | grep "VERBUNDEN" | grep -c "$LOCALIP:22" )
USERS_SMB=$(netstat -an | grep "VERBUNDEN" | grep -c "$LOCALIP:445")
USERS_WEB=$(netstat -an | grep "VERBUNDEN" | grep -c "$LOCALIP:80" )
Antworten |