Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

mac:stop_script [2011/03/31 17:10] (aktuell)
Zeile 1: Zeile 1:
 +[[:mac|{{ :​Apple.png?​40|}}]]
 +===== (Stop)-Skript beim Herunterfahren ausführen =====
  
 +Mac OS hat standardmäßig keine Shutdown Routine, welche das Ausführen von benutzerdefinierten Skripten vorsieht, zB um Settings auf Default zurück zustellen oder irgendwelche Caches zu leeren. Aber es lässt sich relativ einfach eine solche Routine in Mac OS einbauen. Im Prinzip muss dafür nur ein Skript -> <fc #​008000>/​etc/​rc.shutdown.local</​fc>​ angelegt werden. Dieses Skript kann mit der üblichen Shell Syntax geschrieben werden und wird beim Herunterfahren des Systems ausgeführt. **Note:** Der Besitzer des Skriptes muss root sein, ein execute-Bit wird nicht benötigt.
 +
 +Soviel zur Pflicht und nun zur Kür. Auch wenn ich jetzt erst mal nur einen Befehl beim Herunterfahren ausführen möchte, kam mir dennoch der Gedanke, wie denn das Skript mal aussehen mag, wenn ich mal mehrere Befehle ausführen möchte oder manche vielleicht für Test Zwecke nur eine Zeit lang beim Herunterfahren ausgeführt wissen möchte? Da habe ich mich an die Benennung der S- und K-Skripts unter Linux erinnert (S -> Start; K -> Kill) und mir selber so eine Shutdown-Routine gebaut. Dazu habe ich folgendes <fc #​008000>/​etc/​rc.shutdown.local</​fc>​ Skript angelegt:
 +
 +<code bash|/​etc/​rc.shutdown.local>​
 +#​!/​usr/​bin/​env bash
 +
 +SCRIPT_PATH=/​usr/​local/​scripts
 +ALLOWED_USER=root
 +
 +/​usr/​bin/​find $SCRIPT_PATH -name K_\*.sh -a -user $ALLOWED_USER -exec sh {} \;
 +</​code>​
 +
 +Dieses Skript sucht im Verzeichnis <fc #​008000>/​usr/​local/​scripts</​fc>​ (welches mein Skript-Verzeichnis ist) nach Skripts, welche root gehören und mit <fc #​008000>​K_</​fc>​ beginnen und führt diese der Reihe nach aus. Durch den Aufruf der Skripts über den sh-Befehl ist es auch nicht nötig die Skripts mit dem execute-Bit zu versehen. Solange ich nun auf keine Reihenfolge achten muss in der die Skripts ausgeführt werden, scheint dies eine einfache Lösung zu sein, wo man kleinere Aufgaben beim System Shutdown erledigen kann. Die Abfrage <fc #​008000>​-user root</​fc>​ habe ich zur Sicherheit eingebaut, damit mir niemand ohne root-Berechtigung ein Skript unterjubeln kann, welches unkontrolliert beim Shutdown ausgeführt wird.
 +
 +
 +**Verwandte Artikel:**
 +[[:​mac:​start_script|->​ Start-Skript erstellen (launchd)]]
 +
 + --- //pronto 2010/07/22 00:14//
 +{{keywords>​osx snow leopard stop script rc.shutdown.local shutdown herunterfahren}}
mac/stop_script.txt (11261 views) · Zuletzt geändert: 2011/03/31 17:10 (Externe Bearbeitung)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0