• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Lights-Out für Linux

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
Hi Leute,

Habe mir mal ein kleines Script gebastelt:
Code:
########################################################################
# LIGHTS OUT FOR LINUX (lofl)                                          #
# This script suspends the computer if it's idle for a given period of #
# time. It monitors network activity, logged on users and CPU load.    #
########################################################################
https://gist.github.com/n1trux/b3310af725e3e17d4be7

Was haltet ihr davon? Soll als Linux-Alternative zu Lights-Out dienen.
 

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
  • Thread Starter Thread Starter
  • #3
musv schrieb:
Die 2 Perl-Aufrufe hättest du auch mit sed realisieren können. Gerade beim 2. Aufruf, wo du noch ein sed hinter den Perl-Aufruf hinterherschiebst, hättest du den gesamten Ausdruck in ein sed packen können. Die Regexpressions bleiben ja gleich.
Nicht wirklich, habe mich da stundenlang mit sed abgemüht und die Matches haben einfach nicht wirklich hingehauen...

Statt der if-else-Schachtelungen hättest du auch einfach das Script mit exit 0 verlassen können. Macht den Code kürzer und lesbarer. Also bei Dir:
Code:
if [ bedingung ]; then 
else 
  if  [nächste_bedingung ]; then
  else
  fi
fi

Lesbarer ist:
Code:
if [ ! bedingung]; then 
  echo "Ich brech ab"
  exit 0
fi

if [ nächste_bedingung ]; then
  mach was
  else 
  will ich nicht
  exit 0
fi
Macht das den Code nicht tatsächlich länger, also zeilenmäßig gesehen?

Und zumindest bei mir hab ich nichts konfiguriert. Aber nach einer bestimmten Idle-Zeit geht das Notebook von selbst in den Standby. Hab aber in den Systemd-Einstellungen nichts dazu gefunden. Ob dabei beachtet wird, ob ein User eingeloggt ist oder eine Netzwerkverbindung besteht, weiß ich nicht.
Hast du da vielleicht nen xfce4-powermanager oder Ähnliches laufen? Selbst wenn, wäre das ja vermutlich eher wenn nach ner gewissen Zeit ohne Benutzereingaben nichts passiert, aber auf nem Server hast du ja eh keine Benutzereingaben...
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Nicht wirklich, habe mich da stundenlang mit sed abgemüht und die Matches haben einfach nicht wirklich hingehauen...
In Perl bin ich noch nicht ganz so fit. Schreib mal den konkreten Ausdruck / die Bedingung, den du parsen willst. Das sollten wir schon hinbekommen.

Macht das den Code nicht tatsächlich länger, also zeilenmäßig gesehen?
Nein, da du einige Else-Zweige einsparst. Weitere Vorteile der Exit-Points:
  • Flache Hierarchie. Du kommst auf maximal 2-3 Ebenen.
  • Du musst bei einer Abbruchbedingung am Anfang nicht penibel darauf achten, dass die gesamten If-Zweige ordnungsgemäß verschachtelt / abgeschlossen sind.
Dadurch wird der Code stabiler.

Hast du da vielleicht nen xfce4-powermanager oder Ähnliches laufen? Selbst wenn, wäre das ja vermutlich eher wenn nach ner gewissen Zeit ohne Benutzereingaben nichts passiert, aber auf nem Server hast du ja eh keine Benutzereingaben...
Mir schießt grad durch den Kopf, dass ich zwar e16 benutz, im Hintergrund aber den KDE-Powerdevil laufen hab. Insofern nehm ich meine erste Aussage zurück und behaupte das Gegenteil. :)
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
aber auf nem Server hast du ja eh keine Benutzereingaben...
Aber auf einem Server will man nicht, dass dieser herunterfährt, nur weil er gerade mal idle ist.
Da würde mir höchstens der Fall einfallen, dass es sich um mehrere Minions in einer Cloud handelt, die man für z.B. load balancing nutzt und die man nur zuschaltet, wenn sie gerade gebraucht werden. Im "Normalfall" sollte ein Server nicht einfach herunter gefahren werden.
 

Tedious

Habs überlebt
Veteran

Registriert
13 Juli 2013
Beiträge
1.922
Ort
Hesse d.Gottes Gnade
Naja, das macht schon Sinn. Grade LightsOut löst das auf Win-Systemen hervorragend. Hier wird auf den Clients ein Tool installiert welches den Server hochfährt wenn ein Client angeschaltet wird. Ist kein Client mehr online und/oder findet kein Netzwerktraffic mehr statt (Schwelle kann definiert werden) versetzt das AddIn den Server in den Standby. Man muss hier ja von einer Home-Lösung ausgehen. Ist in aller Regel ein Fileserver, Downloadclient, Streaming-Server (war ursprünglich mal für den WHS programmiert). Ist keiner zuhause kann der ruhig in den Standby gehen, um Strom zu sparen. Übrigens ein Grund warum ich den WHS immer noch nicht durch OMV oder ähnliches ersetzt habe. Das Ganze funktioniert einfach hervorragend.

Spar.PNG

Config.PNG

Das das Ganze gut funktioniert sieht man an der Messung. Die Grundlast von knapp 14W sind ein RPI, ein Switch, ein Gateway und ein Drucker. Beim steigenden Peak habe ich den WHS gestartet, da braucht er rund 60W, im Idle braucht er denn etwa 40W.

Messung.PNG

@TE: Danke für das Script, ich schau mir das bei Gelegenheit mal an.
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Grade LightsOut löst das auf Win-Systemen hervorragend.
Deine Erklärung ist nachvollziehbar.

In meinem Fall ist der Sinn für das Script nicht gegeben. Ich hab eine Nas (Zyxel NSA-325), auf dem ein Arch installiert ist (originale Firmware runtergeschmissen). Alle Dienste, die nicht rechenintensiv sind und im Heimbereich benötigt werden, kann das Ding genauso gut wie z.b. der WHS. Dabei braucht das Zyxel-Teil im Normalbetrieb nur 6 Watt laut Strommessgerät. Das ist weniger als bei meiner Fritzbox (9 Watt). Darin verbaut hab ich eine SSD fürs System und eine HDD als Downloadplatte. Zweitere schick ich nach 30 min Idle-Zeit in den Standby. Mein Zyxel läuft 24/7. Bei dem Stromverbrauch macht es einfach einen Sinn, den Rechner runterzufahren. Das Booten würde zu lange dauern.

In meinem Heimnetzwerk sind noch 2 andere Rechner per Lan angeschlossen. Die kann ich bei Bedarf per VPN und WOL hochfahren.

WHS halte ich im Heimbereich für überdimensioniert und unflexibel, da es nur auf x86-Hardware läuft.
 

Tedious

Habs überlebt
Veteran

Registriert
13 Juli 2013
Beiträge
1.922
Ort
Hesse d.Gottes Gnade
Naja, der Strombverbrauch liegt höher - sind aber auch 4 2TB und 2 3TB HDDs verbaut - das ist denn ein bisschen mehr als bei Dir ;) Basis ist übrigens ein ASRock Board mit 8Gb Ram und i3 2100.

Nein, ich seh das keineswegs als überdimensioniert. Man kann ja durchaus mehr Dienste laufen lassen, Dinge wie WSUS und ein sauberer IIS ist was feines. Grade SQL mit größeren DBs lässt sich auf nicht-x86 INHO nur begrenzt einsetzen, da ist die Hardware denn einfach zu schwach. Dies sind natürlich nur Beispiele. Bei Frauen im Haus ist das durchaus praktisch wenn der WHS nachts nacheinander die Clients weckt, updatet, Virusdefinitionen verteilt, ein inkrementelles Backup macht und denn wieder schlafen schickt. Die "ich hab nix gemacht"-Effekte tauchen seltener auf, und wenn mal was in die Binsen geht ist der entsprechende Rechner in 20 Minuten wieder komplett auf den vorherigen Stand zurückgesetzt. Aber das ist nicht Thema hier, hier gehts ja um das Script :)

Um auf deinen Punkt mit dem Booten zurückzukommen - der WHS sitzt nur im Standby, er ist in ca. 2-3 Sekunden verfügbar.
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
Dich zwingt niemand dieses Script zu verwenden :rolleyes:

Mir ging es auch nicht darum, es ging mir nur darum, dass ich auf die Schnelle keinen Einsatzzweck erkennen konnte.
Die Ausführung von Tedious bezüglich des Einsatzes zuhause macht allerdings Sinn.

@Tedious: Wie genau wird das Starten des Servers gelöst? Wake on lan?

@phre4k:
Als Anregungen:
Ich bin nicht so firm in Shellprogrammierung, wenn ich das richtig sehe, "spammt" dein Script die Konsole.
Könntest du stattdessen eventuell in ein logfile schreiben?
Ein eigenes Configfile und ein upstart-Script wäre natürlich auch nice.
 

Tedious

Habs überlebt
Veteran

Registriert
13 Juli 2013
Beiträge
1.922
Ort
Hesse d.Gottes Gnade
@virtus: Das starten des Servers wird prinzipiell via WOL initiiert. Die Clients machen das automatisch wenn sie starten - checken "Server online -> wenn nein --> WOL. Wenn ich den Server von extern starten will um drauf zuzugreifen mache ich das per WhatsApp an meinen FHEM Server auf einem Raspi. Dem schicke ich eine WA mit dem Text WOL, FHEM schickt ein WOL raus und der Server startet. Sobald er denn pingbar ist schickt FHEM mir eine WA mit der Info dass er gestartet wurde zu ;)
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Ein eigenes Configfile und ein upstart-Script wäre natürlich auch nice.

Upstart? Das dürfte doch sehr bald obsolet sein.

Für Systemd würde ich auf die Schnelle sowas hier verwenden.
Code:
[Unit]
Description = Lights out for Linux
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/lofl

[Install]
WantedBy=multi-user.target
Allerdings würde das Script dann 1x gestartet und anschließend vergessen werden.

@Phre4k: Ich denke mal, du solltest in das Script noch 'ne Endlosschleife mit Sleep-Befehl reinbauen, damit das Ding in einer Art Daemon läuft.

@Tedious: In der Tat ist dann der dickere Rechner für Deine Zwecke sinnvoll. Um eine Backup-Strategie muss ich mich auch mal noch kümmern. Das letzte (manuelle) Update liegt doch schon einige Monate zurück.
 
Oben