• 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

wenn ping dann mounten :)

  • Ersteller nils_langner
  • Erstellt am

nils_langner

Gast
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
 

stk

Grünapfel
Registriert
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
 

lengsel

Carola
Registriert
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
 

mullzk

Linsenhofener Sämling
Registriert
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....
 

lengsel

Carola
Registriert
11.08.05
Beiträge
112
mullzk schrieb:
...hast du dauernd offene server-verbindungen...

Wieso?
Wo sind denn da offene Verbindungen ausser der gemounteten Shares (die man natürlich vor dem Wechsel der Umgebung trennt)?

Grüße,
Flo
 

mullzk

Linsenhofener Sämling
Registriert
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...
 

lengsel

Carola
Registriert
11.08.05
Beiträge
112
mullzk schrieb:
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,

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...).

mullzk schrieb:
...und zumindest ich habe dann dauernd vergessen, sie zu unmounten...

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
 

iTisch

Ontario
Registriert
05.01.04
Beiträge
346
lengsel schrieb:
Der Trigger könnte so aussehen:
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
 

mullzk

Linsenhofener Sämling
Registriert
04.01.04
Beiträge
2.529
lengsel schrieb:
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...).
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:
 

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 :).
 

stk

Grünapfel
Registriert
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