zeitgesteuerte abfrage ob PC im netzwerk an oder aus ist

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
bRun0
Beiträge: 43
Registriert: 28.01.2006 23:58:10
Lizenz eigener Beiträge: MIT Lizenz

zeitgesteuerte abfrage ob PC im netzwerk an oder aus ist

Beitrag von bRun0 » 23.02.2006 03:56:21

guten morgen,

hatte grade ne kleine idee als ich ins bett gegangen bin

bei mir ist es so das ich jedesmal per SSH, sobald ich meinen pc angemacht hab, auf meinen home server geh, folgenden befehl ausführ

killall -s STOP java

und sobal ich n pc aus mach, kurz vorher

killall -s CONT java

(einfrieren der prozesse und dann wieder vorsetzen...)

nun war meine idee, nen script zu schreiben, das einfach über cron z.B. alle 2-5 minuten ne abfrage zu machen, ob der PC an ist.

dachte erst über die MAC weil ich dadrüber ja auch teilweise "wake on lan" machen, allerdings ist die mac ja immer vorhanden, ob pc an oder aus...

über die IP (ist statich) sollte es doch dann aber gehn!?

so ne art PING unter debian, wenn ping TRUE gleich "stop befehl"
wenn PING FALSE gleich "cont befehl"

ist das umsetzbar, wenn ja wie?
gibts beispiele?

wäre nett wenn mir jemand hilft ^^
werd das solang noch manuel machn :D

guten nacht :D

-> bRunO

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Beitrag von uljanow » 23.02.2006 05:35:35

moin,

Code: Alles auswählen

#!/bin/bash
while : ; do
       if [!(ping -q -c 1 192.168.XXX.XXX)]; then
            killall -s CONT java 
       else
            killall -s STOP java 
       fi
       
       sleep 180
done
suchst du sowas in der Art?

bRun0
Beiträge: 43
Registriert: 28.01.2006 23:58:10
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bRun0 » 23.02.2006 13:09:24

ja so in etwa ^^

das sieht ja genau danach aus, was ich meinte :D
(wie einfach das dann doch sein kann)


ich werds heut abend nach der arbeit mal ausprobieren.

btw, wenn man das in ne while schleife setzt, wirds ja immer wieder aufgerufen, dazu ja dann wiederrum das sleep (kenn ich aus php noch)

aber wird das nich "zu viel" ?
ich mein zu viel schleifn hinter nander?

wäre das mit nem cron nich besser?

Methusalix

zeitgesteuerte abfrage ob PC im netzwerk an oder aus ist

Beitrag von Methusalix » 23.02.2006 21:09:43

Hallo,
aber wird das nich "zu viel" ?
ich mein zu viel schleifn hinter nander?
Nur zum besseren Verständnis

Code: Alles auswählen

sleep 180 
bedeutet: prüfe nach 3 Minuten nochmal nach. Es läuft auf eine Endlosschleife heraus; alle 3 Minuten halt. Das Script würde also durchlaufen und alle 3 Minuten die Situation prüfen.
Du kannst das auch über einen cron-job machen, wobei dann ein Script alle 3 Minuten neu aufgerufen werden würde.

Gruß
Matthias

bRun0
Beiträge: 43
Registriert: 28.01.2006 23:58:10
Lizenz eigener Beiträge: MIT Lizenz

Re: zeitgesteuerte abfrage ob PC im netzwerk an oder aus ist

Beitrag von bRun0 » 24.02.2006 03:39:18

Matthias-GE hat geschrieben:Nur zum besseren Verständnis

Code: Alles auswählen

sleep 180 
bedeutet: prüfe nach 3 Minuten nochmal nach. Es läuft auf eine Endlosschleife heraus; alle 3 Minuten halt. Das Script würde also durchlaufen und alle 3 Minuten die Situation prüfen.
Du kannst das auch über einen cron-job machen, wobei dann ein Script alle 3 Minuten neu aufgerufen werden würde.
werds erstma so machn ohne cron, ist einfacher, und das mit while schleife, hatte mich falsch ausgedrückt :) sry
hab im nachhinnein auch gemerkt das die frage dazu schwachsinn war ^^

zum script;

Code: Alles auswählen

./status: line 3: syntax error near unexpected token `ping'
./status: line 3: `   if [!(ping -q -c 1 192.168.3.58)]; then' 
das kommt bei mir dabei raus O.o
ich selber find da aber kein fehler!?

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 24.02.2006 03:59:30

weniger ist manchmal mehr:

Code: Alles auswählen

if ! ping -q -c 1 192.168.XXX.XXX; then
Beware of programmers who carry screwdrivers.

bRun0
Beiträge: 43
Registriert: 28.01.2006 23:58:10
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bRun0 » 24.02.2006 12:59:50

unn so funzt es auch :)

-> screen -A -m -d -S status stats

"stats" is das file wo der befehl drinne liegt :)

danke an euch drei :) habt mir sehr geholfen :)

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: zeitgesteuerte abfrage ob PC im netzwerk an oder aus ist

Beitrag von roli » 24.02.2006 19:38:57

Allaaf,

gibt's hier eigentlich keinen Smily mit "Pappnass" fuer die 5-te Jahreszeit?
red171 hat geschrieben: zum script;

Code: Alles auswählen

./status: line 3: syntax error near unexpected token `ping'
./status: line 3: `   if [!(ping -q -c 1 192.168.3.58)]; then' 
das kommt bei mir dabei raus O.o
ich selber find da aber kein fehler!?
ich aber, du hast die Leerzeichen an den Eckigen Klammern vergessen, nimm

Code: Alles auswählen

 if [ !(ping -q -c 1 192.168.3.58) ]; then
und es sollte gehen.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten