1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

wenn ping dann mounten :)

Dieses Thema im Forum "AppleScript" wurde erstellt von nils_langner, 19.01.06.

  1. hallo zusammen,

    ich würde gerne ein skript haben, dass mich mit einem server sobald ich ihn anpingen kann verbindet. kann ich das mit applescript machen und wenn ja kennt jemand ein gutes tutorial, was mich dahin führt ?

    Grüße Nils
     
  2. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    falls Du von einem Fileserver sprichst, dann geht das mit dem mounten so:

    Code:
    set DiskList to {"Volume1", "Volume2", "Volume3"}
    
    try
    	repeat with currentDisk in DiskList
    		if (list disks) does not contain currentDisk then
    			mount volume "afp://servername/" & currentDisk as user name "meinname" with password "geheim"
    		end if
    	end repeat
    end try
    
    
    Den Trigger wirst Dir aus der Rückmeldung eines Shell-Scripts das den Ping absetzt besorgen müssen.

    Gruß Stefan
     
  3. lengsel

    lengsel Carola

    Dabei seit:
    11.08.05
    Beiträge:
    112
    Der Trigger könnte so aussehen:

    Code:
    try
    	set t to do shell script "ping -c 1 127.0.0.1"
    	if t contains "0% packet loss" then display dialog "Yep"
    end try
    
    der try-Block ist dazu da, einfach stumm das Script zu beenden falls der Ping nicht erfolgreich war.
    Die localhost-IP muss durch die gewünschte Ziel-IP (oder Hostname) ersetzt werden.
    Der Teil nach dem then muss natürlich durch obiges Script ersetzt werden.

    Grüße,
    Flo
     
  4. mullzk

    mullzk Linsenhofener Sämling

    Dabei seit:
    04.01.04
    Beiträge:
    2.529
    hatte so ein skript auch mal (irgendwo von macosxhints), aber das hat bei mir nicht lange überlebt. grund: wenn du häufiger mal die location wechselst (und davon gehe ich mal aus, in anbetracht des skript-wunsches), hast du dauernd offene server-verbindungen, die dir dann den finder für 2 minuten lahmlegen, wenn du schon wieder die location gewechselt hast.
    wenn es dir nur um eine unproblematische verfügbarkeit der shares angeht, würde ich eher verzeichnisse auf den shares direkt ins dock oder in die finder-sidebar legen, dann sind sie auch sehr einfach anwählbar, werden aber nur gemountet wenn du sie auch wirklich brauchst und hängen dir daher nicht den finder auf, wenn du das book nur ganz kurz zu hause aufgetan hast und schon wieder unterwegs bist....
     
  5. lengsel

    lengsel Carola

    Dabei seit:
    11.08.05
    Beiträge:
    112
    Wieso?
    Wo sind denn da offene Verbindungen ausser der gemounteten Shares (die man natürlich vor dem Wechsel der Umgebung trennt)?

    Grüße,
    Flo
     
  6. mullzk

    mullzk Linsenhofener Sämling

    Dabei seit:
    04.01.04
    Beiträge:
    2.529
    genau das ist der punkt, den ich meinte: wenn die shares automatisch gemountet werden, werden sie auch dann gemountet, wenn du sie gar nicht brauchst, und zumindest ich habe dann dauernd vergessen, sie zu unmounten, wenn ich die location wechselte. das mag durchaus auch an meiner schusseligkeit liegen, aber oft renne ich ziemlich schnell zum haus raus, und fluche beim kunden dann erst mal eine minute lang über den finder...

    ich sage nicht, dass solche automount-skripts keinen sinn ergeben, sie können durchaus praktisch sein. aber nicht selten ist es sinnvoller, einfach den mount-mechanismus zu erleichterung aber immer noch manuell anzukicken...
     
  7. lengsel

    lengsel Carola

    Dabei seit:
    11.08.05
    Beiträge:
    112
    Ich verstehe aber immer noch nicht wie Du aus o.g. Fragestelllung zu der Überzeugung kommst dass hier irgendwas ge-automountet wird.
    Das Script in der jetzigen Form nimmt einem lediglich den Dialog bei der Serververbindung ab. Und selbst wenn der Server nicht verfügbar sein sollte sucht der Finder eben nicht nach Shares die nicht vorhanden sind, sondern das Script stirbt einfach still und leise nach einem erfolglosen Ping. Es bietet sich gerade deshalb besonders für automatisierten Ablauf an (Locationwechsel, wake from sleep. usw...).

    Ja, das passiert mir schon auch ab und zu, aber das hat bei mir den Finder noch nie derart in die Knie gewzungen wie Du das beschrieben hast.

    Grüße,
    Flo
     
  8. iTisch

    iTisch Ontario

    Dabei seit:
    05.01.04
    Beiträge:
    346
    Hi,

    man kann übrigens die Erreichbarkeit von Rechnern (oder genauer: Netzwerkelementen) unter OS X noch ein wenig eleganter lösen:
    Code:
    scutil -r apfeltalk.de
    Reachable
    
    scutil -r birnentalk.de
    Not Reachable
    
    Die shell EXIT Stati werden auch entsprechend gesetzt. Nettes kleines Feature...

    Cheers,

    Michael
     
  9. mullzk

    mullzk Linsenhofener Sämling

    Dabei seit:
    04.01.04
    Beiträge:
    2.529
    ahhh, willst du das skript einfach manuell laufen lassen, um gleichzeitig mit mehreren shares zu verbinden?
    ok, dann nehme ich alles zurück...
    ich hatte das skript damals am laufen, um dauernd verbunden zu sein, sobald ich die server sehe, also rein in die crontab und alle minute laufen lassen.
    aber eben: kaum habe ich mich entschieden die location zu verlassen und die server umounted, musste ich noch schnell eine adresse im adressbuch nachschauen, oder noch schnell das mail lesen, dass gerade reinkommt, und zack, eine minute später waren die shares wieder da.

    aber ok, wenn es einfach um ein-klick-mehrere-shares geht, sag ich nix, alles gut :innocent:
     
  10. pleibling

    pleibling Gast

    hihi, die idee mit dem ping kenne ich irgendwoher :).

    man könnte das dann auch als cron job laufen lassen alle 15 minuten, das verursacht ja bestimmt kaum ressourcenverbrauch.

    z.b. wenn server verfügbar aber alufwerke nicht verbunden, dann laufwerke verbinden. falls server nicht mehr verfügbar und laufwerke verbunden, dann trennen.

    so könnte man auch verschiedene server einrichten.

    man könnte sogar so netze konfigurieren lassen. z.b. an einer netzwerkkarte mehrere adressen binden aus netz a, b und c.

    wenn du nun in a startet, dann lasse dein script alle 15 min. laufen. da du verschiedene ip adressen aus allen netzen hast, kannst du die immer die server erreichen. wenn dein script nun erkennt, das der server aus netz a nicht mehr verbunden ist, aber auf einmal der server aus netz b da ist, dann mußt du folglich im netz b sein und das script passt nun nicht mehr nur die laufwerke an, sondern verstellt auch standarddrucker, default gateway, dns server usw.

    das wäre mal eine schöne automation, und vor allem ein intelligentes system, ein system das für dich schaltet.

    so ähnlich stelle ich mir das auch in meiner hausautomation vor, wenn monitor an und draussen dunkel, dann licht auf lesestufe an, wenn draussen sonne tief steht, dann rollo halb runter, wenn nach einer stunde keine bewegung mehr, dann monitore aus, heizung runter, leinwand hoch falls unten ist, licht aus.

    die manuelle steuerung mache ich zur zeit noch übers mediacenter (eigene oberfläsche für gebaut: www.mcehomecontrol.de), nun möchte ich das aber gerne über ein widget machen :).
     
  11. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    Wenn wechselnde Umgebungen ins Spiel kommen, wäre Location X ein Mittel der Wahl um AS zu triggern.

    Gruß Stefan
     

Diese Seite empfehlen