我想每天在23:30(晚上11:30)关闭多台Mac的电源?


10

我办公室有个问题,就是多台Mac总是24/7全天候运行,而老板说我需要停止它。现在我对Mac没有太多经验,我更喜欢Windows。

我有一台Mac,它充当服务器,并希望运行脚本或类似的东西来协调多台计算机的电源状态(如果有帮助的话)。

如何在晚上11:30远程关闭所有7-8台Mac?


6
实际上,“系统偏好设置”中有一个设置可以在特定时间关闭。如果这对您不起作用(出于某种原因):Mac是否充当运行“ OSX Server”的服务器?您是否通过启用了无密码远程登录ssh
nohillside

1
他们为什么要停下来?他们不进入睡眠模式吗?
user151019 '16

如果将中央Mac升级到OS X Server,则可能更容易控制。
托尔比约恩Ravn的安徒生

Answers:


17

正如patrix在评论中指出的那样,您可以通过系统偏好设置->节能->时间表...设置将任何Mac设置为在特定时间启动或唤醒,以及睡眠或关闭。

您也可以尝试使用AppleScript,例如以下代码(使用脚本编辑器对其进行编辑,然后另存为应用程序):

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

然后使用OSX的Launch Services在给定时间运行此脚本。要进行设置,您可以使用免费工具,例如“ Lingon X”。

此外,为什么要像这样关闭它们?如果您关心的只是保存电力,为什么不将Mac设置为在闲置30分钟后进入睡眠状态呢?这样,他们通常会更快地入睡,从而节省更多电量。如果他们没有按预期进入睡眠状态,则可以使用Terminal命令检查pmset -g可能阻止其进入睡眠状态的原因。通常是挂起的打印任务(然后可能要删除它)或装入的服务器卷。


2
+还包括实现相同效果甚至更多的更强大的替代方案。
Pysis

互联网共享还可以防止Mac
陷入

13

您可以使用它pmset来完成,这将是一个“一次完成”的解决方案。
发出pmset命令后,它将按照您设置的时间表关闭/启动/唤醒。您不必创建每次都在预定时间运行的脚本。

pmset 使用以下格式:

pmset schedule day/date time

这里有一些例子:

  • pmset repeat sleep MTWRF 23:30:00 使Mac在工作日的晚上11:30入睡

  • pmset repeat poweroff MTWRF 23:30:00 在工作日的11:30 pm关闭Mac

  • pmset schedule shutdown "12/31/2016 23:59:00" 除夕在晚上11:59关闭计算机。

  • pmset repeat wakeorpoweron MTWRF 06:30:00 每个工作日上午7:00唤醒Mac,以便当员工出现时可以使用它。

您无需使用脚本来执行此操作,您所需要做的就是远程访问其中的每台Mac(全部为7或8),然后以管理员身份发出命令。

但是,如果需要运行脚本,则可以将此命令添加到类似于以下内容的简单bash脚本中:

#!/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

现在,请记住该脚本仅用于说明目的,在技术上不在此答案的范围之内。我只是想说明如何做到这一点。


2
您应该指出,这等同于使用系统偏好设置。
Thomas Tempelmann '16

4

如果您需要管理大量Mac,我建议使用Apple Remote Desktop。它可以让您将任何数量的标准设置推送到您需要管理的Mac上,并避免编写和维护脚本。

在每台机器上,您需要Remote Management在System Preferences.app>共享中启用。之后,您可以随时进行调整。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.