Script nach Ruhezustand ausführen lassen? Wie geht das?

Juppes

Bekanntes Mitglied
Hallo zusammen.

Ich möchte ein Script, ähnlich diesem hier, zur Überwachung meiner gemounteten Laufwerke auf dem NAS regelmäßig bzw. nach dem Aufwachen des Mac ausführen lassen, damit er die Verbindung zu den Laufwerken nicht verliert:
Code:
set command to "ping -c 1 192.168.2.111"
set checkVar to false
repeat until checkVar is true
try
if ((do shell script command) contains " packets received, 0.0% packet loss") then
mount volume "smb://192.168.2.111/movies/"
mount volume "smb://192.168.2.111/music/"
mount volume "smb://192.168.2.111/ActiveFolders/"
mount volume "smb://192.168.2.111/photos/"
mount volume "smb://192.168.2.111/public/"
set checkVar to true
end if
on error
display dialog "Es konnte keine Verbindung aufgebaut werden." buttons {"Nochmal", "OK"} with icon stop giving up after 3
if button returned of result is "OK" then
set checkVar to true
else if button returned of result is "Nochmal" then
set checkVar to false
else
set checkVar to true
end if
end try
end repeat
Leider komme ich nicht weiter, wie ich das Script regelmäßig ausführen kann. Als Startobjekt bekomme ich es noch hin, wie geht es aber dann weiter?
 
Zuletzt bearbeitet:

Juppes

Bekanntes Mitglied
Ok, danke, ich versuche es mal mit Sleepwatcher. Das erwähnte Controlplane habe ich mir angeschaut, bietet jedoch keine Aktion, die mit dem Aufwachen verknüpft ist, oder ich bin zu blöd, sie zu finden.
 

DrSnuggles

Xanatos
@Juppes:

Unter Windows hab ich mir einfach ein Skript gebaut was in einer Endlosschleife 60 Sekunden schläft und die sich dann jeweils die Uhrzeit von der Realtime-Clock holt.
Wenn die Realtimeclock sich um mehr als 61 Sekunden verändert hat hat das System wohl geschlafen.
-> Ausführung von was auch immer
 

dr_tommi

alter Oldie
@Dr. Snuggels
Unter Windows hätte man auch das Eventlog nach den Ereignissen vom PowerTroubleShooter mit ID 1 auswerten können. Dieser Event wird ausgelöst wenn das System wieder erwacht.
Über die Aufgabenplanung bei dem entsprechenden Ereignis das passende Script ausführen lassen. Da ist ja nicht nur eine zeitgesteuerte Ausführung möglich sondern natürlich auch eine eventgesteuerte.
Man kann auch abfragen, wie lange das System geschlafen hat.
z.B. mit der Powershell:
Code:
Get-EventLog -logname system -Source 'Microsoft-Windows-Power-Troubleshooter' | ft TimeGenerated, Message -AutoSize -wrap
Aber unter OSX sieht das eben anders aus. ;)
 

Achille Pellegrini

Bezahlter Provokateur
Keyboard Maestro hat verschiedene Trigger für Scripts oder Actionen - eins Trigger ist halt system wake up und funktioniert tadellos - auch sonst kann ich Keyboard Maestro empfehlen.
 

equipe

Zeitreisender
Stimmt ja, Du schriebst, dass Du es versuchen würdest. Bist Du denn weiter mit dem Problem? Funktioniert es?
 

Juppes

Bekanntes Mitglied
Ehrlich gesagt habe ich es noch nicht weiterverfolgt, da ich meine Mac-Festplatte aufgerüstet und die ITunes Bibliothek auf die lokale Festplatte verlagert habe. Seitdem brauche ich das nicht mehr. Meine anderen Clients greifen ja direkt auf das NAS zu.
 

xtraa_

Serviervorschlag
Hi,

ich hab hier einen Installer, der die schlecht dokumentierte Einrichtung für Sleepwatcher
zum Kinderspiel macht.

Zu Copypasten wäre jeweils nur das gewünschte, auszuführende Script, welches dann in
die Datei xsleep bzw. xwakeup kommt. Bei mir startet er z.B. beim Aufwachen jedes mal
die Datei WAKEUP.app im Home-Verzeichnis, um meine Soundkarte zu resetten. Aber Du
kannst natürlich auch jedes beliebige Skript starten lassen.

Warum lass ich eine mit Automator erstellte .app starten? Nunja, mein Shellskript benötigt
Sudo für Terminalbefehle (kextunload, kextload) daher ist das etwas hmmh :)

Um Sudo zu bekommen sieht das so aus: (dirty und insecure, ich weiß)

Code:
sudo -s | echo HIERPASSWORTREIN \!

Terminalbefehle oder skripte hier rein, Zeile für Zeile.
Zur Benutzung:

- sleepwatcher.pkg installiert Sleepwatcher, wo es überall hingehört
- SleepWatcher StartupItem.pkg installiert die skripte

Nicht vergessen, die Skripte mit Berechtigungen zu versehen und in einem Editor halt nach
Deinen Wünschen anzupassen.

Text im Installationsfenster durchlesen für die Ordner der Skripte!

http://s000.tinyupload.com/?file_id=09386854978824426689

Falls jemand wissen will, wie so eine .app im Automator gemacht wird: Ganz einfach so,
reinziehen und als app exportieren:

Screenshot 2014-06-24 um 17.25.15.png

Gruß
xtraa
 

Juppes

Bekanntes Mitglied
Super!

Da lass ich doch gleich auch meine Soundflower Einstellungen mit überprüfen und binde die Synology auch mit ein. Ist echt sehr hilfreich!
 
Oben Unten