Applescript zu einer bestimmter Zeit aussetzen.

stefan19773

Erdapfel
Mitglied seit
23.09.12
Beiträge
2
Hallo,
zum mounten der Laufwerke meiner NAS nutze ich ein
Script. Dies wiederum starte ich mit "launchctl load -w com.laufwerke.blackbox.plist".
Folgende Code nutze ich in der .plist,


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>com.laufwerke.blackbox</string>
<key>ProgramArguments</key>
<array>
<string>/Users/stefan/Library/Services/Laufwerke.app/Contents/MacOS/applet</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>3000</integer>
</dict>
</plist>

Alles soweit wunderbar, allerdings fährt die NAS zu einer bestimmten Zeit
in den Ruhezustand (22:00-05:00), in dieser Zeit ist das Script wirkungslos.
Mein frage nun, kann ich den Code so ändern das er in der Zeit zwischen 22:00-05:00 Uhr
nicht ausgeführt wird.


Gruß
Stefan
 

sedna

Englischer Kantapfel
Mitglied seit
22.10.08
Beiträge
1.085
Hallo,

erstmal vorweg: CROSSPOSTING ist blöd und gegen die Forenregeln.
Und bedenke: wenn man an einem Wochenende einen Beitrag in einem Forum verfasst und nicht gleich eine Antwort kommt, so kann man ruhig etwas Geduld mitbringen...

Zur Sache:
Wir kennen nicht den Inhalt deines AppleScript-Programms und wissen nicht, ob es -als Programm gespeichert- zum Mounten notwendig ist, bzw. ob man nicht überhaupt gleich besser ein Shell Script nehmen könnte. Jedenfalls kann man mit /usr/bin/osascript AppleScript Code direkt ausführen, bzw. auch ein als Skript oder Skript-Bundle gespeichertes Skript ausführen lassen.
Es läuft dann im Hintergrund und stört nicht weiter.
Soweit zur Kosmetik...
Nebenbei: der Speicherort im Services Ordner macht mich stutzig....

Ist der Startintervall im Job notwendig?
Ansonsten kannst du mit dem Argument StartCalendarInterval den Job (zusätzlich zu RunAtLoad) zu einer bestimmten Uhrzeit ausführen lassen (05:00)

Die ganz enge Antwort auf deine Frage wäre das Argument KeepAlive mit dem Subkey OtherJobEnabled
(Mit einem weiteren Job könntest du diesen Job natürlich auch direkt laden/stoppen...)

Gruß
 
Zuletzt bearbeitet:
  • Like
Wertungen: doc_holleday