Skipt über Aufgabenplaner?

Status
Für weitere Antworten geschlossen.

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Hallo zusammen,

da ich mir gerade die Finger mit meinem Halbwissen breche, hier im Wiki und Forum keine Antwort gefunden habe, benötige ich einmal Eure Hilfe. Ich haben meinen Mac OS Server zugunsten einer Diskstation aufgegeben und vergessen, dass ich dort ein regelmäßigen Job (Script) habe laufen lassen. Nun stellt sich die Frage, kann ich auf der Diskstation über den Aufgabenplaner regelmäßig ein Skript with auf dem Mac laufen lassen?

Ich möchte stündliche eine IP Adresse im LAN abfragen, ob diese noch erreichbar ist. Falls nicht, sollte ein HTTP Push Request gesendet werden.

Danke im Voraus & frohe Weihnachten,

MachtRebel
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
Sollte schon funktionieren, sofern es nur um einen einzigen Client geht. Alternativ halt ein kleines Monitoring-System, wobei man da auch nicht mit Kanonen auf Spatzen schiessen sollte. Vielleicht könntest Du mal ein paar Infos mehr rüberreichen :)
 

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Skript für IP Abfrage mit HTTP Request

Hallo zusammen,

falls mir jemand beim Skript helfen kann, so dass es über die Diskstation funktioniert, würde ich dafür gerne einen großen leckeren Caffè Latte beim Starbucks spendieren oder alternativ eine Mikrospende an Misereor oder Ärzte ohne Grenzen leisten.

Das war mein damalige Code Schnipselei ...

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

on sendIP(IPList)
curl -s \
  --form-string token=xxx \
  --form-string user=xxx \
  --form-string title='Lüftung ist aus' \
  --form-string message='Druckwächter prüfen' \
  https://api.pushover.net/1/messages.json

Danke & guten Rutsch,
MachtRebel
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Das ist AppleScript. Mach Shell Script draus:

Code:
#! /bin/sh
PATH=/bin:/usr/bin

# IP-Adresse definieren
IP="x.x.x.x"
# user definieren
USR="xxx"
# token definieren
TOKEN="xxx"

# eine einzige Zeile:
ping -q -c3 ${IP} && curl -s --form-string token=${TOKEN} --form-string user=${USR} --form-string title='Lüftung ist aus' --form-string message='Druckwächter prüfen' https://api.pushover.net/1/messages.json || echo ${IP}
 
Zuletzt bearbeitet von einem Moderator:

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Servus hvkls,

Wenn ich das richtig lese, muss ich nur folgende Zeile als Skript ausführen?

ping -q -c3 ${IP} && curl -s --form-string token=${TOKEN{ --form-string user=${USER} --form-string title='Lüftung ist aus' --form-string message='Druckwächter prüfen' https://api.pushover.net/1/messages.json || echo ${IP}

Gehören die Klammen dazu oder ohne ... ${x.x.x.x} && ODER $x.x.x.x &&?

Viele Grüße,
MachtRebel
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Das Script ist alles ab "#! /bin/sh" inclusive; die Parameter werden am Anfang definiert; die Schlusszeile bleibt unverändert.

Die vollständige Prozedur ist:

1) In einem Linux-kompatiblen Editor wie Notepad++ oder Vi eine Datei namens "checker.sh" (oder so, Hauptsache ohne Leerzeichen, Sonderzeichen, Umlaute) erzeugen und im Linux-Format speichern.

2) Den gesamten (noch einmal korrigierten) Code von oben samt Shebang (#! /bin/sh) kopieren und einfügen. Achtung, wenn du das per Terminal machst, musst du darauf achten, dass die letzte Zeile wirklich eine einzige Zeile bleibt.

3) IP="" befüllen, z. B. IP="192.168.1.10"

4) USR="" befüllen, z. B. USR="homey"

5) TOKEN="" befüllen, z. B. TOKEN="ABC123"

Die letzte Zeile bleibt unverändert.

6) Speichern.

7) Ausführbar machen mit

chmod 0755 ./checker.sh

8) Testen mit

./checker.sh

9) Als Aufgabe im Aufgabenplaner definieren.
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
Darf der ausführende User denn überhaupt den ping absetzen?
 

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Ja. Habe gerade in der selben Terminal-Session den Ping-Befehl gestartet. Das geht.
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
Mit dem User, dem das Script gehört? Wenn ja, welcher wäre das dann - root/<adminuser>/normaler user?
 

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Ich bin am Mac als Admin angemeldet.

Wobei ich das Skript gerade mal auf der Diskstation ausgeführt habe. Dort lief es durch und ich erhielt eine Pushnachricht von Pushover. Das ist die gute Nachricht. Die Schlechte: Die IP ist erreichbar.

Der Request sollte rausgehen, wenn die IP nicht erreichbar ist.
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
Kleinigkeiten (für euch Programmierer :p), kümmer Dich lieber erstmal darum, dass es via Aufgabenplaner vernünftig läuft, sonst ist Dir mit dem "richtigen" Script ja auch nicht geholfen :eek:
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
@Macht Rebel

Ich hatte das irgendwie so verstanden, dass der Hauptteil ausgeführt werden sollte, wenn ping erfolgreich ist. Also andersherum:

ping -q -c3 ${IP} && echo ${IP} || curl -s --form-string token=${TOKEN} --form-string user=${USR} --form-string title='Lüftung ist aus' --form-string message='Druckwächter prüfen' https://api.pushover.net/1/messages.json
 

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
:cool: Es funktioniert. Super. Danke!.

Sende mir bitte per PN Deine Mail Adresse für den Kaffee. Alternativ kannst Du Dich gerne für die Spende entscheiden.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Hier im Forum helfen wir einander einfach, aber ich wäre der letzte, der Menschen in Not um eine Chance bringen würde :)
 

Macht Rebel

Benutzer
Mitglied seit
10. Dez 2017
Beiträge
12
Punkte für Reaktionen
1
Punkte
0
Das finde ich gut ... ich habe aufgerundet :)

Ohne Titel.jpg

Gutes neues Jahr!
MachtRebel
 
  • Like
Reaktionen: geimist

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Nobel getan. Möge das kommende Jahr allen Menschen Glück bringen, und Dir besonders!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat