Quero desligar vários Macs todos os dias às 23:30 (23:30)?


10

Eu tenho esse problema no meu escritório, que vários Macs sempre rodam 24 horas por dia, 7 dias por semana, e meu chefe disse que eu preciso fazê-lo parar. Agora não tenho muita experiência com Macs, sou mais do tipo Windows.

Eu tenho um Mac que atua como servidor e gostaria de executar um script ou algo assim para orquestrar o status de energia de vários computadores, se isso ajudar.

Como posso desligar todos esses 7-8 Macs remotamente às 23:30?


6
Na verdade, existe uma configuração nas Preferências do Sistema para desligar em um horário específico. Se isso não funcionar para você (por qualquer motivo): O Mac está agindo como um servidor executando o "OSX Server"? Você ativou o login remoto sem senha via ssh?
nohillside

1
Por que eles precisam parar? Eles não entram no modo de suspensão?
user151019

Pode ser mais fácil controlar se um Mac central é atualizado para o OS X Server.
Thorbjørn Ravn Andersen

Respostas:


17

Como a patrix indicou em um comentário, você pode configurar qualquer Mac para iniciar ou ativar e dormir ou desligar em horários específicos, através das configurações Preferências do sistema -> Economia de energia -> Agenda ....

Você também pode tentar usar o AppleScript, por exemplo, este código (edite-o com o Editor de scripts e salve como um aplicativo):

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

E, em seguida, use os Serviços de inicialização do OSX para executar esse script em um determinado momento. Para configurar isso, você pode usar uma ferramenta gratuita como "Lingon X".

Além disso, por que desligá-los assim? Se tudo o que importa é preservar a energia elétrica, por que não configurar os Macs para dormir depois de ficar inativos por, digamos, 30 minutos? Dessa forma, eles geralmente dormem muito mais cedo, economizando mais energia. Se eles não entrarem no modo de espera conforme o esperado, você pode verificar com o comando Terminal o pmset -gque pode impedi-los de dormir. Geralmente, é uma tarefa de impressão pendente (que você pode excluir, então) ou volumes de servidor montados.


2
+ por incluir também a alternativa mais robusta que obtém o mesmo efeito e mais.
Pysis 14/11/16

Compartilhamento de Internet poderia também impedem o mac de dormir
FrontENG

13

Você pode usar pmsetisso e será uma solução "única e pronta".
Depois de emitir o pmsetcomando, ele será encerrado / inicializado / acordado na programação definida; você não precisará criar um script que seja executado em um tempo predeterminado a cada vez.

pmset usa este formato:

pmset schedule day/date time

Aqui estão alguns exemplos:

  • pmset repeat sleep MTWRF 23:30:00 coloca o Mac para dormir durante a semana às 23:30

  • pmset repeat poweroff MTWRF 23:30:00 desliga o Mac nos dias úteis às 23:30

  • pmset schedule shutdown "12/31/2016 23:59:00" desliga o computador às 23h59 do ano novo.

  • pmset repeat wakeorpoweron MTWRF 06:30:00 acorda o Mac todos os dias da semana às 7:00 da manhã, para que fique pronto quando o funcionário aparecer.

Você não precisa usar um script para fazer isso, tudo o que você precisa fazer é acessar remotamente cada um dos Macs (todos os 7 ou 8) deles e emitir o comando como administrador.

No entanto, se você precisar executar um script, poderá adicionar este comando a um script simples do bash, semelhante ao seguinte:

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

Agora, lembre-se de que o script é meramente ilustrativo e tecnicamente está fora do escopo desta resposta. Eu só queria ilustrar como isso poderia ser feito.


2
Você deve salientar que isso é equivalente a usar as Preferências do Sistema.
Thomas Tempelmann

4

Se você precisar gerenciar vários Macs, recomendo usar o Apple Remote Desktop . Ele deve permitir o envio de qualquer número de configurações padrão aos Macs que você precisa gerenciar para o seu trabalho e evitar a necessidade de escrever e manter um script.

Em cada máquina, você precisa habilitar Remote Managementem System Preferences.app> Sharing. Depois disso, você pode ajustar a qualquer momento.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.