Script zum automatischen Mounten von Server und Volumes

Nett-Worker

Erdapfel
Registriert
14.10.14
Beiträge
2
Hallo zusammen,

ich habe mich hier mal angemeldet, weil ich eine Frage zu Apple Script habe und hoffe, dass einer von Euch mir diese beantworten kann. Folgende Ausgangssituation: Ich habe hier ein NAS stehen, das mir insgesamt vier Freigaben im Finder anzeigt – das sind unterschiedliche Server, auf denen nach Abteilungen getrennte Volumes liegen. Auf jedem Server liegen vier bis sechs Volumes, von denen ich aber nur ein oder zwei pro Server benötige – diese sollen aber ohne Serverabfrage gemountet werden, damit ich vom Desktop aus darauf zugreifen kann.

Die Username-Passwort-Kombinationen sind im Schlüsselbund gespeichert und sollen nicht extra über das Skript abgefragt werden.

Ich würde gerne wie folgt vorgehen:

- Skript fragt Server ab
- Skript verbindet sich mit allen Servern
- Skript mountet automatisch "Volume-1", "Volume-2" und "Volume-3", nicht aber "Volume-4" und "Volume-5"

Perfekt wäre es natürlich, wenn das Einstecken des LAN-Kabels und die damit verbundene Anzeige im Finder automatisch das Skript toggeln würde und sich der Mac mehr oder weniger ohne zutun mit dem NAS verbindet. Kann mir da jemand weiterhelfen? Ich habe zwar schon das eine oder andere bei Google und Co. gefunden, aber nichts, was wirklich funktioniert hätte. Meist kommt die Meldung beim Ausführen des Apple Scripts, dass ich auf den Server mit der IP-Adresse xxx.xxx.xx.xx nicht zugreifen dürfe, weil ich nicht die erforderlichen Rechte besäße – obwohl ja wie gesagt die Kombis im Schlüsselbund gespeichert sind. Bin – als Apple-Script-Laie – ein wenig ratlos…

Vielen Dank für Eure Hilfe und Viele Grüße
 

jannik199512

Elstar
Registriert
01.03.10
Beiträge
72
Guten Abend,

ich habe mir vor einiger Zeit ein Shell Script für fast die gleiche Situation geschrieben, gleich betitelte Shares auf unterschiedlichen Servern, von denen immer nur einer erreichbar ist.

Code:
HOSTS="192.168.2.110 192.168.2.111 192.168.2.112"
COUNT=2

for myHost in $HOSTS
do
    count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
    if [ $count -eq $COUNT ]; then
        echo $myHost
        umount /Volumes/V1/
        umount /Volumes/V2/
        umount /Volumes/V3/
        umount /Volumes/V4/
        umount /Volumes/V5/
        umount /Volumes/V6/

        mkdir /Volumes/V1
        mkdir /Volumes/V2
        mkdir /Volumes/V3
        mkdir /Volumes/V4
        mkdir /Volumes/V5
        mkdir /Volumes/V6

        mount_smbfs //username:password@$myHost/V1 /Volumes/V1
        mount_smbfs //username:password@$myHost/V2 /Volumes/V2
        mount_smbfs //username:password@$myHost/V3 /Volumes/V3
        mount_smbfs //username:password@$myHost/V4 /Volumes/V4
        mount_smbfs //username:password@$myHost/V5 /Volumes/V5
        mount_smbfs //username:password@$myHost/V6 /Volumes/V6
    fi
done

Das Script geht in einer Schleife alle IPs des Arrays Hosts durch, und Mounted die einzelnen Volumes unter /Volumes.

Ist zwar kein Apple Script, funktioniert aber nach meiner Erfahrung besser als eine Automator Aktion oder ein Apple Scripts, diese hingen sich bei mir öfters bei nicht erreichen auf.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Nett-Worker

Mitglied 105235

Gast
Das Script wie es @Bozol hier zeigt funktioniert sehr gut, besteht jedoch die Möglichkeit das man das ganze noch erweitert so das dieser Ping Befehl nur ausgeführt wird in einen bestimmten WLAN? Denn so könnte es nun ja auch sein das etwas gemountet werden soll weil ein andere PC zufällig die gleiche IP hat.