Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Applescript - bei positiver IP-Abfrage mounten einer Backup-Partition

Applescript - bei positiver IP-Abfrage mounten einer Backup-Partition

gustavson27.10.1114:32
Hallo zusammen,

ich habe da ein Problem mit Applescript...

Meine externe Backup-Platte an einem Mac Mini dient über eine Netzwerkfreigabe auch meinem Macbook als Ziel für die TimeMachine. Nun nervt mich diese externe Platte aber sehr weil sie immer zwischendrin und völlig unmotiviert angeht. Außerdem brauche ich nicht jede Stunde ein Backup vom MacBook.
Also soll der Mini in regelmäßigen Abständen das Netzwerk (mit festen IPs) nach einer bestimmten IP durchsuchen und wenn er sie gefunden hat, die Backup-Partion mounten.
Soweit, so gut...

Da ich bei AppleScript noch ganz am Anfang stehe, habe ich mir durch diverse Suchaktionen folgendes Script zusammengebastelt:

try
    set result to do shell script "ping -c 1 192.168.xxx.xxx"
    if result contains "1 packets transmitted, 1 packets received, 0.0% packet loss" then
        tell application "Finder" to if not (disk "Backup" exists) then do shell script "diskutil mount " & last word of (do shell script "diskutil list | grep 'Apple_HFS Backup'")
    else
        do shell script "diskutil unmount 'Backup'"
        ""
    end if
end try

Wenn die IP gefunden wird, funktioniert das mounten auch. Nur wenn die IP nicht mehr im Netzwerk vorhanden ist, scheitert das Script. Es wird dann im AppleScript-Editor folgenedes angezeigt:

tell current application
    do shell script "ping -c 1 192.168.0.131"
         error "PING 192.168.0.131 (192.168.0.131): 56 data bytes

--- 192.168.0.131 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss" number 2
end tell

Hat jemand eine Idee, wo mein Fehler liegt? Ich kriegs nicht auf die Reihe
0

Kommentare

rene204
rene20427.10.1114:39
setzte doch vor die if-Abfrage noch eine, die den Fehlerzustand abfragt, then - das Script beendet oder else auf die zweite IF-Abfrage weiterleitet.

„Gelassenheit und Gesundheit.. ist das wichtigste...“
0
gustavson27.10.1115:14
bin mir nicht sicher, ob ich das jetzt richtig verstanden habe...
meinst du so in der Art:

try
set result to do shell script "ping -c 1 192.168.xxx.xxx"
if result contains "error" then
do shell script "diskutil unmount 'Backup'"
else
if result contains "1 packets transmitted, 1 packets received, 0.0% packet loss" then
tell application "Finder" to if not (disk "Backup" exists) then do shell script "diskutil mount " & last word of (do shell script "diskutil list | grep 'Apple_HFS Backup'")
else
do shell script "diskutil unmount 'Backup'"
""
end if
end try
0
_mäuschen
_mäuschen27.10.1115:53

try
      set the_result to do shell script "ping -c 1 192.168.xxx.xxx"
end try

if the_result contains "error" then
      do shell script "diskutil unmount 'Backup'"
      elseif
      if the_result contains "1 packets transmitted, 1 packets received, 0.0% packet loss" then
            tell application "Finder" to if not (disk "Backup" exists) then do shell script "diskutil mount " & last word of (do shell script "diskutil list | grep 'Apple_HFS Backup'")
      end if
end if


0
gustavson27.10.1116:07
Vielen Dank für die Hilfe!

Leider funktioniert es noch nicht bei einer IP, die nicht im Netz ist. Findet er die IP ist alles OK.
Hier die Fehlermeldung:

tell current application
    do shell script "ping -c 1 192.168.0.xxx"
         error "PING 192.168.0.xxx (192.168.0.xxx): 56 data bytes

--- 192.168.0.131 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss" number 2
Ergebnis:
error "Die Variable „the_result“ ist nicht definiert." number -2753 from "the_result"

Habe ich da einen Schreibfehler drin, das er die Variable nicht findet?
0
rene204
rene20427.10.1116:11
ja, so meinte ich das..

aber _mäuschen ist da der ungeschlagene Profi und hat immer einen richtigen / passenden Tipp parat...

Daumen hoch fürs _mäuschen.....
„Gelassenheit und Gesundheit.. ist das wichtigste...“
0
_mäuschen
_mäuschen28.10.1112:40

So geht's

0
gustavson28.10.1114:05

YEAH, jetzt gehts!!!
Vielen Dank für die Hilfe!!
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.