Geektool Ping

Ich habe mir mal Geektool heruntergeladen. Da ich meist die Fenster im Vollbild auf habe, sieht man nicht soviel.
@biberator: Du musst im Geektool Output encoding auf 'Non Lossy ASCII' einstellen, dann kommen die Punkte
 
Genial, da muss man mal drauf kommen, TOP! :)
Danke
Danke
Danke
 
... im sed die Adressen immer dreistellig mit führenden Nullen, also z.B. 192.168.010.002 statt 192.168.10.2. Dann sind die Adressen für sed eindeutig und dem ping ist es egal.

Da muss ich mich korrigieren: mit führenden Nullen wird die Zahl als Oktalzahl interpretiert, der sed ist zwar eindeutig, aber der ping geht dann woanders hin als man meint (und mit 8 oder 9 in der Zahl wirds seltsam). Bleibt also beim sortieren im sed.
 
Code:
#!/bin/bash
#set -vx

iphostlist="
8.8.4.4
8.8.8.8;Google

192.168.178.101;server01
192.168.178.102;server02

204.79.197.200;Bing
fritz.box
"

### do not edit below this line ###

[[ "$1" = "-h" ]] && echo "Syntax: $(basename $0) [IP[;HOST]] (use quotes)" && exit 1

[[ "$1" ]] && iphostlist="$1"

  red="\033[31m\0342\0246\0277\033[0m"
green="\033[32m\0342\0246\0277\033[0m"

while IFS=';' read ip host
do
 if ping -c1 -t1 "$ip" &>/dev/null; then
  colorflag="$green"
 else
  colorflag="$red"
 fi
 [[ "$ip" ]] && echo -ne "$colorflag "; [[ "$host" ]] && echo "$host" || echo "$ip"
done <<<"$iphostlist"
 
Zuletzt bearbeitet:
Die Version von Olivetti "skaliert" imo definitiv schöner und sollte auch performanter sein, weil keine Latte an seds ausgeführt wird.
 
Yep. Wobei ich hier drei Maschinen habe, die jeweils über WLAN und/oder LAN erreichbar sind und auch z.B. einen Drucker, der nur bei Bedarf eingeschaltet ist. Da bleibt der Timeout von einer Sekunde. Und da Geektool (bei mir) das Skript alle 5 Minuten im Hintergrung aufruft merke ich von Performance nicht wirklich etwas. Trotzdem schöne(re) Lösung.

BTW fritzbox: Mit folgendem Skript (hab ich auch hier aus dem Forum) kann man aus der fritzbox seine externe IP auslesen. Die kann man auch schön mit Geektool verbasteln.

Code:
#!/bin/bash

#internal IP-address of the fritz-box
FBIP="169.254.1.1"    # die geht immer(?)
#FBIP="192.168.2.1"

NETCAT=$(which nc)
[ -z "$NETCAT" ] && exit 1

NS="urn:schemas-upnp-org:service:WANIPConnection:1"
REQUEST="GetExternalIPAddress"
SED='/^<NewExternalIP/ s,</?NewExternalIPAddress>,,gp'

BODY="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
        <s:Body><u:$REQUEST xmlns:u=$NS /></s:Body>
</s:Envelope>
"

LENGTH=$(echo -n "$BODY" | wc -c)

( $NETCAT $FBIP 49000 | sed -Ene "$SED" ) <<EOF
POST /upnp/control/WANCommonIFC1 HTTP/1.1
Content-Type: text/xml; charset="utf-8"
Connection: close
HOST: $FBIP:49000
Content-Length: $LENGTH
SOAPACTION: "$NS#$REQUEST"

$BODY
EOF
 
Du darfst nicht nur nach CPU Last schauen, sondern auch z.B. nach dem Takt. Moderne CPUs takten sich hoch, wenn mehr Leistung benötigt werden, brauchen dann aber auch (viel) mehr Storm.
Ich hab ein AppleScript laufen, das sekündlich Daten bezüglich Titel etc. aus iTunes abfragt. Nun ist AS alles andere als zügig und wenn dazu noch anderes kommt, taktet meine CPU von 1,6GHz auf über 3,5GHz hoch, darum läuft es nun nur noch alle 2 Sekunden, damit sich die CPU auch im "idle" vollständig runtertaktet. Meine hochgetaktete CPU hat dadurch immer noch keine sichtbare Auslastung, aber verbraucht mehr Strom. Bei einem Laptop würde ich das berücksichtigen wollen.
 
Zuletzt bearbeitet:
Zurück
Oben Unten