ฉันต้องการปิด Mac หลายเครื่องทุกวันเวลา 23:30 น. (23:30 น.) หรือไม่


10

ฉันมีปัญหานี้ในสำนักงานของฉันที่ Mac หลายเครื่องทำงานตลอดเวลา 24/7 และเจ้านายของฉันบอกว่าฉันต้องหยุดมัน ตอนนี้ฉันไม่มีประสบการณ์มากกับ Mac ฉันเป็น Windows มากกว่า

ฉันมี Mac หนึ่งตัวที่ทำหน้าที่เป็นเซิร์ฟเวอร์และต้องการเรียกใช้สคริปต์หรืออะไรทำนองนั้นเพื่อปรับแต่งสถานะพลังงานของคอมพิวเตอร์หลาย ๆ เครื่องหากช่วยได้

ฉันจะปิดเครื่อง 7-8 Macs เหล่านั้นจากระยะไกลเวลา 23:30 น. ได้อย่างไร


6
จริงๆแล้วมีการตั้งค่าในการตั้งค่าระบบเพื่อปิดในเวลาที่กำหนด หากสิ่งนี้ไม่ได้ผลสำหรับคุณ (ไม่ว่าด้วยเหตุผลใด): Mac ทำหน้าที่เป็นเซิร์ฟเวอร์ที่ใช้ "เซิร์ฟเวอร์ OSX" หรือไม่? คุณได้เปิดใช้งานการเข้าสู่ระบบระยะไกลโดยsshไม่ต้องใช้รหัสผ่านหรือไม่?
nohillside

1
ทำไมพวกเขาต้องหยุด? พวกเขาไม่เข้าสู่โหมดสลีปหรือไม่
user151019

วิธีนี้อาจควบคุมได้ง่ายกว่าหากมีการอัพเกรด Mac กลางเป็น OS X Server
Thorbjørn Ravn Andersen

คำตอบ:


17

ตามที่ patrix ได้ชี้ให้เห็นในความคิดเห็นคุณสามารถตั้งค่า Mac เครื่องใดก็ได้เพื่อเริ่มทำงานหรือตื่นขึ้นมาและนอนหลับหรือปิดเครื่องในเวลาที่กำหนดผ่านการตั้งค่าระบบ -> ประหยัดพลังงาน -> กำหนดการ ...

คุณสามารถลองใช้ AppleScript เช่นรหัสนี้ (แก้ไขด้วยตัวแก้ไขสคริปต์จากนั้นบันทึกเป็นแอปพลิเคชัน):

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

จากนั้นใช้ Launch Services ของ OSX เพื่อเรียกใช้สคริปต์นี้ในเวลาที่กำหนด หากต้องการตั้งค่านี้คุณสามารถใช้เครื่องมือฟรีเช่น "Lingon X"

นอกจากนี้ทำไมพวกเขาถึงปิดเช่นนี้ หากสิ่งที่คุณใส่ใจคือการรักษาพลังงานไฟฟ้าทำไมไม่ลองตั้งค่า Macs ให้เข้าสู่โหมดสลีปหลังจากไม่ได้ใช้งานเป็นเวลา 30 นาที? ด้วยวิธีนี้พวกเขาจะเข้าสู่โหมดสลีปเร็วกว่าปกติประหยัดพลังงานมากขึ้น หากพวกเขาไม่เข้าสู่โหมดสลีปตามที่คาดไว้คุณสามารถตรวจสอบด้วยคำสั่งเทอร์มินัลpmset -gว่าอะไรที่จะป้องกันไม่ให้พวกเขาหลับ บ่อยครั้งที่มันเป็นงานพิมพ์ที่รอดำเนินการ (ซึ่งคุณอาจต้องการลบแล้ว) หรือเมานต์เซิร์ฟเวอร์ปริมาณมาก


2
+ สำหรับรวมถึงทางเลือกที่มีประสิทธิภาพยิ่งขึ้นซึ่งได้รับผลกระทบที่เหมือนกันและอื่น ๆ อีกมาก
Pysis

การแชร์อินเทอร์เน็ตยังสามารถป้องกันไม่ให้เครื่อง Mac นอนหลับได้
FrontENG

13

คุณสามารถใช้pmsetเพื่อทำสิ่งนี้และมันจะเป็นโซลูชัน "ครั้งเดียวและเสร็จสิ้น"
เมื่อคุณออกpmsetคำสั่งมันจะปิด / เริ่มต้น / ปลุกตามกำหนดเวลาที่คุณตั้งไว้ คุณไม่จำเป็นต้องสร้างสคริปต์ที่ทำงานตามเวลาที่กำหนดไว้ในแต่ละครั้ง

pmset ใช้รูปแบบนี้:

pmset schedule day/date time

นี่คือตัวอย่างบางส่วน:

  • pmset repeat sleep MTWRF 23:30:00 ทำให้ Mac เข้าสู่โหมดสลีปในวันธรรมดาเวลา 23:30 น

  • pmset repeat poweroff MTWRF 23:30:00 ปิดการทำงานของ Mac ในวันธรรมดาเวลา 23:30 น

  • pmset schedule shutdown "12/31/2016 23:59:00" ปิดคอมพิวเตอร์เวลา 23.59 น. ส่งท้ายปีเก่า

  • pmset repeat wakeorpoweron MTWRF 06:30:00 ตื่น Mac ทุกวันธรรมดาเวลา 7:00 น. เพื่อให้พร้อมที่จะไปเมื่อพนักงานปรากฏตัว

คุณไม่จำเป็นต้องใช้สคริปต์ในการทำสิ่งนี้สิ่งที่คุณต้องทำก็คือเข้าถึง Mac แต่ละเครื่อง (ทั้งหมด 7 หรือ 8) จากระยะไกลและออกคำสั่งเป็นผู้ดูแลระบบ

อย่างไรก็ตามหากคุณต้องการเรียกใช้สคริปต์คุณสามารถเพิ่มคำสั่งนี้ลงในสคริปต์ทุบตีแบบง่ายคล้ายกับที่แสดงต่อไปนี้:

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

4

หากคุณจำเป็นต้องจัดการพวงของแม็คผมขอแนะนำให้ใช้แอปเปิ้ล Remote Desktop ควรให้คุณผลักดันการตั้งค่ามาตรฐานจำนวนเท่าใดก็ได้ให้กับ Mac ที่คุณต้องการจัดการสำหรับงานของคุณและให้คุณหลีกเลี่ยงการเขียนและบำรุงรักษาสคริปต์

ในแต่ละเครื่องคุณต้องเปิดใช้งานRemote Managementใน System Preferences.app> Sharing หลังจากนั้นคุณสามารถปรับได้ตลอดเวลาที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.