• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Applescript zu einer bestimmter Zeit aussetzen.

stefan19773

Granny Smith
Registriert
23.09.12
Beiträge
17
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

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
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
Reaktionen: doc_holleday