WakeOnLan per Applescript?

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
Hallo Leute,

habe noch nie mit Apple-Script gearbeitet und bin darum überfordert... Ich weiß vor allem nicht, wo ich anfangen soll (AppleScript-Handbuch ist doch recht dick...)

ich möchte ein Script schreiben, dass, solange es läuft, jede Minute ein WakeOnLan-Paket an eine bestimmte IP-Adresse schickt (MAC-Adresse und Port bekannt).
Ich brauche es, um mein Buffalo-NAS aufzuwecken bzw. wach zu halten.
Das Original-Tool von Buffalo läuft immer, solange mein Mac läuft, und das will ich nicht, das ich das Raid nur selten brauche...

Wenn mir jemand sagen kann, wie ich es anfangen soll, oder wo ich anfangen soll oder mir sogar ein Beispielscript schreiben will, wäre mir sehr geholfen...

Wenn jemand meint, das wäre mit einer anderen Sprache einfacher oder besser geschrieben, auch solche Antworten freuen mich (allerdings kenne ich auch keine anderen Sprachen...)

Ciao,

Wolfgang (Immer noch relativer Newbie, was OSX und Unix betrifft...)
 

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
Noch ein paar Anmerkungen: habe inzwischen kleine Tools gefunden, die das MagicPaket generieren. jetzt müsste ich noch rauskriegen, wie ich diese Tools aufrufe... (schaff ich vielleicht auch noch) das größere Problem: Ich hätte das Programm gerne so, dass ich es starten (kein Problem) und auch wieder beenden kann (schon ein Problem...) Dazu bräuchte ich vmtl. irgendeine Kill-Application. Oder geht das anders auch? Am besten ein Knopf, den ich an und abschalten kann ;) Ciao, Wolfgang
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
in welcher form liegen die tools für die magic-pakete vor? sind das apps oder commandline-tools?
ein on idle-applescript wäre in diesem fall das richtige. wenn du weisst, wie man die pakete sendet, dann sollte man das hinbekommen. ich kenne mich leider mit dem WakeOnLan nicht so aus. wenn du einen shellbefehl weisst, mit dem man diese pakete sendet, dann wäre das das optimum. dann brauchst du nur diese shell-zeile regelmässig per as senden, und wenn schluss damit sein soll, beendest du das on-idle-script.

und das hier is nix?
 
Zuletzt bearbeitet:

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
Hi, ich hab das hier gefunden gehabt: http://www.macuser.de/forum/f30/rechner-netzwerk-per-269160/ also Commandline. Wobei es hier: http://www.macupdate.com/info.php/id/20110 eine neuere Version davon gibt... Komischerweise wenn ich das in ein AppleScript schreibe wie im Thread genannt, funktionierts nicht. Auch wenn ich die Adresse nicht mit / sondern mit : schreibe, hauts nicht hin... Bin da echt noch total unbedarft (leider)...

Das hatte ich bisher nicht gefunden. Werd ich mir mal anschauen... Ciao, Wolfgang
 
Zuletzt bearbeitet:

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
So, hab mir das Programm angeschaut. Das Problem dabei ist, dass dieses nur einmalig und nur manuell ein WOL-Paket rausschickt. Das NAS braucht das aber minütlich... Ciao, WOlfgang
 

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
Hi, ich hab das hier gefunden gehabt: http://www.macuser.de/forum/f30/rechner-netzwerk-per-269160/ also Commandline. Wobei es hier: http://www.macupdate.com/info.php/id/20110 eine neuere Version davon gibt... Komischerweise wenn ich das in ein AppleScript schreibe wie im Thread genannt, funktionierts nicht. Auch wenn ich die Adresse nicht mit / sondern mit : schreibe, hauts nicht hin... Bin da echt noch total unbedarft (leider)...
So, bin wieder etwas schlauer: Hab den Pfad wie im Finder mit "Programme" angegeben, was natürlich falsch ist... Pfad muss mit "Applications" geschrieben werden.
Jetzt klappt das ganze (also zumindest wird das Script ausgeführt. Sitz gerade in der Arbeit und das NAS ist daheim...)
Nur wenn ich das Script als Programm ausführe, braucht es relativ viel Systemressourcen (teilweise 3% CPU), da es unter Rosetta ausgeführt wird...
Eigentlich müsste es doch möglich sein, die WOL-Pakete von Lauchd schicken zu lassen, und den deamon per Script zu starten und zu beenden?

Kann mir da jemand weiterhelfen? Wenn ich selber weiterkomme, geb ich natürlich auch Bescheid...

Ciao,

Wolfgang
 

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
so, bin wieder weiter... ein Applescript mit dem Inhalt
Code:
do shell script "launchctl load /nas-test.plist"
wobei /nas-test.plist der komplette Speicherort und Name der plist-file ist, lädt den launchdeamon, mit unload statt load wird er wieder beendet. die plist-datei hab ich vermutlich auch fertig, weiß aber nicht wie ich das testen kann... Es sollte bloß jede minute ein wol-Paket rausschicken. Weiß jemand, wie ich das überprüfen kann? Ich bekommen leider (bisher) das originaltool von buffalo nicht deinstalliert, so dass mein NAS sowieso immer läuft und ich nicht sehen kann, obs mein script aufweckt...
Inhalt der plist-file:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>nas-test</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/wol/wol 00:1D:73:5B:C5:77</string>
    </array>
    <key>StartInterval</key>
            <integer>60</integer>
    <key>OnDemand</key>
    <false/>
</dict>
</plist>
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Ist das Buffalo-Tool denn auch einen launch-deamon? Versuchs mal mit lingon.
Damit kannst du komfortable launchd verwalten.

Ansonsten finde ich die Speicherorte, die Du für das commandline-tool sowie die plist gewählt hast, nicht sonderlich glücklich.
 

ganghimself

Granny Smith
Registriert
29.05.08
Beiträge
14
Ob das Buffalo-Tool ein lauchdeamon ist, weiß ich leider nicht. Das wäre ja praktisch... Hab aber im Verzeichnis system/launchdaemons bzw. launchagents nichts gefunden, was einen eindeutigen Dateinamen diesbezüglich hat... Die Speicherorte waren nur vorläufig, damit ich keine langen Kommandozeilen im Terminal hab... Ciao, Wolfgang P.S.: Lingon werd ich mir anschauen...