• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[AppleScript] Workflow/Script zur regelmäßigen Abfrage einer IP

macht_rebel

Gloster
Registriert
01.05.07
Beiträge
63
Liebe Nachbarn,

da ich mir gerade die Finger mit meinem Halbwissen breche, benötige ich einmal Eure Hilfe.

Ich möchte stündliche eine IP Adresse im Lan abfragen, ob diese erreichbar ist. Falls nicht, solle mir eine E-Mail oder Push-Nachricht zukommen. Ich würde das Ganze dann gerne auf meinem Mac Server laufen lassen, da dieser im an ist.

Habt Ihr ein smartes Script oder eine Automator-Empfehlung?

Danke & viele Grüße
Marc
 

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
Man braucht mehr Informationen um das zu lösen. Ist die abzufragende IP statisch oder dynamisch? Ist es die Server IP die abgefragt werden soll? Soll die Push Nachricht der Server ausgeben?
Aber erst mal ein Beispiel. Applescript:
Code:
set theIP to (do shell script "arp -an")
--enter below the IP that has to be present:
if theIP contains "0.0.0.0" then
    return
else
    sendIP(theIP)
end if

on sendIP(IPList)
    set LanIp to IPv4 address of (system info)
    tell application "Mail"
        delay 1
        set mail to make new outgoing message at beginning of outgoing messages with properties {subject:"IPList Server", content:"LANIPList: " & return & IPList & return & return & "IPServer: " & LanIp}
        tell mail
            --enter below the email it has to sendt to:
            make new to recipient at end of to recipients with properties {address:"[email protected]"}
        end tell
        send mail
    end tell
end sendIP

Hier musst Du oben noch die IP eingeben die überwacht werden soll. Weiter unten musst Du noch die Email Adresse eingeben, an welche eine Mail gesendet wird, falls die gefragte IP nicht vorhanden ist.
Das ganze mit einem launchd task automatisch jede Stunde aufrufen. Falls Du nicht erisst wie man launchd konfiguriert, einfach nochmal fragen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: 92893

macht_rebel

Gloster
Registriert
01.05.07
Beiträge
63
Vielen Dank! Die gefragte IP im Lan ist statisch. Wenn möglich kann der Server die Nachricht wie eine Warnung per Mail versenden.
Ich habe Dein Script laufen lassen und ich bekomme sofort eine Mail, obwohl die IP erreichbar ist ;o(
Meine Lösung sah im Ansatz wie folgt aus ...

Im Automator ein Shell Script ausführen ...

ping -c 3 0.0.0.0

Dann das Ergebnis mit einem Script auslesen:

on run {input, parameters}
if input contains "100.0% packet loss" then
set input to result
end run

Leider schaffe ich es nicht, die Staffelübergabe zur Mailerstellung zu finden.

Vielleicht kannst Du meine Ping-Lösung in ein sauberes Script verpacken. Ich würde es dann mit Linken regelmäßig lauschen.
 

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
Ja mit Lingon oder besser LaunchControl. (Autokorrektur eingeschaltet?)

Code:
set theIP to (do shell script "arp -an")
try
--enter below the IP that has to be present:
    do shell script "ping -oq -c3 0.0.0.0"
on error
    sendIP(theIP)
end try

on sendIP(IPList)
    set LanIp to IPv4 address of (system info)
    tell application "Mail"
        delay 1
        set mail to make new outgoing message at beginning of outgoing messages with properties {subject:"IPList Server", content:"LANIPList: " & return & IPList & return & return & "IPServer: " & LanIp}
        tell mail
            --enter below the email it has to sendt to:
            make new to recipient at end of to recipients with properties {address:"[email protected]"}
        end tell
        send mail
    end tell
end sendIP
 
Zuletzt bearbeitet:
  • Like
Reaktionen: macht_rebel und 92893

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
Ja, könntest wenigstens den "Gefällt mir" Knopf betätigen.