Ich möchte jeden Tag um 23:30 Uhr (23:30 Uhr) mehrere Macs ausschalten.

10

Ich habe das Problem in meinem Büro, dass mehrere Macs immer rund um die Uhr laufen und mein Chef sagte, dass ich dafür sorgen muss, dass es aufhört. Jetzt habe ich nicht viel Erfahrung mit Macs, ich bin eher der Windows-Typ.

Ich habe einen Mac, der als Server fungiert und ein Skript oder ähnliches ausführen möchte, um den Stromstatus mehrerer Computer zu koordinieren, wenn dies hilfreich ist.

Wie kann ich all diese 7-8 Macs um 23:30 Uhr aus der Ferne herunterfahren?

SMaxTH
quelle
6
In den Systemeinstellungen gibt es tatsächlich eine Einstellung zum Herunterfahren zu einem bestimmten Zeitpunkt. Wenn dies bei Ihnen nicht funktioniert (aus welchem ​​Grund auch immer): Funktioniert der Mac als Server mit "OSX Server"? Haben Sie die kennwortlose Remote-Anmeldung über aktiviert ssh?
Nohillside
1
Warum müssen sie aufhören? Gehen sie nicht in den Schlafmodus?
user151019
Dies ist möglicherweise einfacher zu steuern, wenn ein zentraler Mac auf OS X Server aktualisiert wird.
Thorbjørn Ravn Andersen

Antworten:

17

Wie patrix in einem Kommentar ausgeführt hat, können Sie jeden Mac über die Einstellungen Systemeinstellungen -> Energiesparmodus -> Zeitplan ... so einrichten, dass er zu bestimmten Zeiten gestartet oder aufgeweckt und in den Ruhezustand versetzt oder heruntergefahren wird.

Sie können auch versuchen, AppleScript zu verwenden, z. B. diesen Code (bearbeiten Sie ihn mit dem Skript-Editor und speichern Sie ihn als Anwendung):

tell application id "com.apple.systemevents" -- System Events.app
    shut down
end tell

Verwenden Sie dann die Launch Services von OSX, um dieses Skript zu einem bestimmten Zeitpunkt auszuführen. Um dies einzurichten, können Sie ein kostenloses Tool wie "Lingon X" verwenden.

Außerdem, warum sie so abschalten? Wenn es Ihnen nur darum geht, die Stromversorgung zu erhalten, richten Sie die Macs stattdessen so ein, dass sie nach etwa 30 Minuten Leerlauf in den Ruhezustand wechseln. Auf diese Weise schlafen sie normalerweise viel früher ein und sparen mehr Strom. Wenn sie nicht wie erwartet schlafen gehen, können Sie mit dem Befehl Terminal überprüfen, pmset -gwas sie möglicherweise am Schlafen hindert. Oft handelt es sich um eine ausstehende Druckaufgabe (die Sie dann möglicherweise löschen möchten) oder um gemountete Servervolumes.

Thomas Tempelmann
quelle
2
+ für die Einbeziehung der robusteren Alternative, die den gleichen Effekt und mehr erzielt.
Pysis
Internet-Sharing könnte auch verhindern, dass der Mac schläft
FrontENG
13

Sie können dies verwenden pmset, und es wird eine "einmalige" Lösung sein.
Sobald Sie den pmsetBefehl ausgeben , wird er nach dem von Ihnen festgelegten Zeitplan heruntergefahren / gestartet / aufgeweckt. Sie müssen kein Skript erstellen, das jedes Mal zu einem festgelegten Zeitpunkt ausgeführt wird.

pmset verwendet dieses Format:

pmset schedule day/date time

Hier einige Beispiele:

  • pmset repeat sleep MTWRF 23:30:00 Schaltet den Mac wochentags um 23:30 Uhr in den Ruhezustand

  • pmset repeat poweroff MTWRF 23:30:00 fährt den Mac wochentags um 23:30 Uhr herunter

  • pmset schedule shutdown "12/31/2016 23:59:00" schaltet den Computer um 23.59 Uhr ab. Silvester.

  • pmset repeat wakeorpoweron MTWRF 06:30:00 weckt den Mac jeden Wochentag um 7:00 Uhr, damit er betriebsbereit ist, wenn der Mitarbeiter auftaucht.

Sie müssen dazu kein Skript verwenden. Sie müssen lediglich remote auf jeden Mac (alle 7 oder 8) zugreifen und den Befehl als Administrator ausführen.

Wenn Sie jedoch ein Skript ausführen müssen, können Sie diesen Befehl einem einfachen Bash-Skript hinzufügen, das dem folgenden ähnelt:

#!/bin/bash

# Array of Mac hostnames separated by spaces
my_macs=(mac1 mac2 mac3 mac4)

#Steps through each hostname and issues SSH command to that host

for n in my_macs
do
   ssh admin@$n "pmset repeat sleep MTWRF 23:30:00"
done

exit 0

Denken Sie jetzt daran, dass das Skript zu Illustrationszwecken dient und technisch außerhalb des Rahmens dieser Antwort liegt. Ich wollte nur veranschaulichen, wie dies getan werden kann.

Allan
quelle
2
Sie sollten darauf hinweisen, dass dies der Verwendung der Systemeinstellungen entspricht.
Thomas Tempelmann
4

Wenn Sie eine Reihe von Macs verwalten müssen, empfehle ich die Verwendung von Apple Remote Desktop . Sie sollten eine beliebige Anzahl von Standardeinstellungen auf die Macs übertragen können, die Sie für Ihren Job verwalten müssen, und vermeiden, dass Sie ein Skript schreiben und warten müssen.

Auf jedem Computer müssen Sie Remote Managementin System Preferences.app> Sharing aktivieren . Danach können Sie jederzeit anpassen.

CyberSkull
quelle