• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

mac os in dauerschleife neu starten

steme82

Golden Delicious
Registriert
31.03.08
Beiträge
7
hallo liebe gemeinde,
viele unserer kunden reklamieren, daß sporadisch nach neustart kernel panik auftritt. nun sind wir gezwungen diesen fehler nachzuvollziehen. meine frage an euch gibt es bei mac eine möglichkeit, ähnlich wie bei Windows wo man einfach eine batch-datei mit entsprechendem shutdown befehl in den autostart packt, eine möglichkeit den mac immer wieder neuzustarten?
vielen dank im vorraus
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

yep das geht, allerdings muß man etwas Hirnschmalz investieren. Ich hatte jüngst den Bedarf dafür, da eine Endlospräsentation von Keynote i.d.R. nach zwei Tagen abstürzte. Diesem Absturz bin ich dann über einen Neustart des Rechners in aller Hergottsfrühe (wo's keiner bemerkt) zuvorgekommen.

Die Elemente dazu:

a) ein kleines AppleScript welches nichts weiter macht als einen Neustart:
Code:
do shell script "sudo shutdown -r now" user name "name_eines_admins" password "admin_passwort" with administrator privileges

Den Einzeiler einfach als ausführbares AppleScript absichern, z.B. (dann paßt gleich der zweite Teil ;)) als »reboot.app« im Verzeichnis »Für alle Benutzer«.

b) einen launchd Aufruf, der allmorgendlich abläuft:
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>Debug</key>
	<true/>
	<key>Label</key>
	<string>de.redaktiv.reboot</string>
	<key>OnDemand</key>
	<true/>
	<key>ProgramArguments</key>
	<array>
		<string> /Users/Shared/reboot.app</string>
	</array>
	<key>RunAtLoad</key>
	<false/>
	<key>ServiceIPC</key>
	<false/>
	<key>StartCalendarInterval</key>
	<dict>
		<key>Hour</key>
		<integer>5</integer>
		<key>Minute</key>
		<integer>45</integer>
	</dict>
</dict>
</plist>

Die Datei unter dem Namen de.redaktiv.reboot.plist ins Verzeichnis /Library/LaunchDaemons/ abspeichern. Ggf. noch die Uhrzeiten anpassen! Nach dem nächsten (händischen) Neustart arbeitet das Teil dann.

(Ja, ihr Profis: auch Lingon wäre eine Hilfe, der Aufruf könnte auch direkt über das Terminal getriggert werden, aber so ist's ein guter Kompromiss aus Benutzerfreundlichkeit und Systemnähe ;))

Gruß Stefan
 

steme82

Golden Delicious
Registriert
31.03.08
Beiträge
7
danke für die schnelle antwort :)
gibts eine möglichkeit das 2. so umzuwandeln das der rechner hochfährt und nach 20sek wieder neustartet. lässt sich das evtl. auf 50 neustarts begrenzen? für mich ist wichtig das ich diese neustarts nicht mehr von hand ausführen muss, das schont meine nerven und den geldbeutel des kunden weil ich die zeit wo ich vor sitze und neu starte auf ihn umschlagen muss ;)
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

ja, könnte man modifizieren:

a) in das AppleScript eine Warteschleife einbauen, bevor der Neustart ausgelöst wird. Also:
Code:
wait 1200 -- 20 min x 60 sec

b) den launchd Aufruf modifizieren auf
Code:
	<key>RunAtLoad</key>
	<true/>
und den ganzen Sermon für die Startzeit
Code:
	<key>StartCalendarInterval</key>
	<dict>
		<key>Hour</key>
		<integer>5</integer>
		<key>Minute</key>
		<integer>45</integer>
	</dict>
einfach rausnehmen.

Nach genauerem Lesen des Eingangspost: Ich weiß zwar nicht welchen Erkenntnisgewinn das bringen soll, aber bitte. Ich würde im vorliegenden Fall eher mal den KP-Log lesen und ggf. auch noch die Speicherriegel sukzessive ausbauen und durchtesten um der KP auf den Grund zu gehen.

Gruß Stefan
 

steme82

Golden Delicious
Registriert
31.03.08
Beiträge
7
vielen dank, bist ja echt fix im antworten :) ist halt anweisung vom chef, solange der fehler nicht vor unserer nase passiert reparieren wir nichts
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ich persönlich würde nicht per shutdown -r now Neustarten, da dabei das GUI nicht sauber runtergefahren wird. (loginwindow wird einfach gekillt.)
Eleganter ist ein Appleskript welches dem SystemEvent Handler sagt er möge doch bitte neustarten. (Als Autologinitem, versteht sich.)

Als Appleskript:
tell application "System Events" to restart

Als Shellskript Wrapper:
'osascript -e '\''tell application "System Events" to restart'\'''
Auf die Quotes achten!
Gruß Pepi
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
a) ein kleines AppleScript welches nichts weiter macht als einen Neustart:
Code:
do shell script "sudo shutdown -r now" user name "name_eines_admins" password "admin_passwort" with administrator privileges
Sorry, aber dieses Skript ist Unfug.
Code:
try
  do shell script " sleep 20 && osascript -e 'tell application Finder to restart' "
end try
Das ganze speichern ohne Startdialog, sonst machts als Autostartanwendung keinen Sinn.
 
Zuletzt bearbeitet:

steme82

Golden Delicious
Registriert
31.03.08
Beiträge
7
hallo,
habe es geschafft 2 scripte per automator zu einer zufriedenstellenden lösung miteinander zu verknüpfen. das ganze wird dann einfach in die autostartobjekte mit eingebunden.

property theTime : 20

repeat while theTime is not 0

set the1 to display dialog "Script beenden?

Neustart in " & theTime & " Sekunden" with icon caution giving up after 1 buttons {"OK"} default button 1
if button returned of the1 is "OK" then
display dialog "Script wurde beendet" buttons {"OK"} default button 1
quit
set theTime to 0
end if


set theTime to theTime - 1



end repeat

end run

das ist das erste script um das 2. neustart script abzubrechen um so den safemode zum abrechen des neustart scripts zu umgehen.

on run {input, parameters}

do shell script "sudo shutdown -r now" user name "test" password "test" with administrator privileges

return input
end run

das wäre das neustart script.

so nun habe ich jedoch wieder eine neue frage: ich würde gerne dem ganzen eine art anmeldemaske vorschalten um benutzernamen und passwort per read&write das ganze ins neustartscript zu importieren. da ich mir mittlerweile die finger blutig gegoogelt habe hoffe ich das mir einer von euch einen tip geben kann wo ich etwas finde.

danke im vorraus