crontab เพื่อปลุก osx จากโหมดสลีป


18

ฉันมี crontab ซึ่งจะเปิดตัวโปรแกรมบางอย่างในตอนเช้า (หลังจากที่ฉันหลับ) และปิดอีกครั้งในตอนเช้า (ก่อนที่ฉันจะตื่น) แต่ iMac ของฉันจะไม่รันสคริปต์ crontab ในขณะที่หลับ

ฉันเห็นว่ามีการตั้งค่าบางอย่างที่จะปลุกเครื่องและทำให้มันเข้าสู่โหมดสลีอีกครั้งในเวลาที่กำหนด แต่มีวิธีทำเช่นนี้โดยใช้ crontab หรือไม่?

คำตอบ:


28

cronไม่ทำงานในขณะที่คอมพิวเตอร์หลับดังนั้นจึงไม่มีวิธีที่คุณจะมีรายการ crontab เพื่อปลุกคอมพิวเตอร์ ที่กล่าวว่าคุณสามารถกำหนดเวลาให้คอมพิวเตอร์ตื่นเพียงหนึ่งหรือสองนาทีก่อนงาน cron ของคุณในการตั้งค่า >> ประหยัดพลังงาน >> กำหนดการ

นอกจากนี้ยังเป็นมูลค่าการชี้ให้เห็นว่าตั้งแต่ปีเสือ, แอปเปิ้ลได้ย้ายงานที่กำหนดมากที่สุดจากcronสคริปต์และชอบinit.rcกับlaunchdกระบวนการ มันให้รายละเอียดเพิ่มเติม (แต่ยุ่งยากฉันคิดว่า) หมายถึงการควบคุม (ผ่านไฟล์ plist หลาย ๆ ไฟล์) นอกจากนี้ยังจะเรียกใช้งานที่ไม่ได้รับโดยอัตโนมัติเพราะคอมพิวเตอร์กำลังหลับเมื่อมันตื่นขึ้นมา ดูที่หน้าการตั้งเวลางานของ Apple


ลิงก์เสีย
retracile

1
คำตอบที่ยอดเยี่ยม แต่คุณสามารถปลุกเมื่อปิดแล็ปท็อปได้หรือไม่
ผู้ใช้

4

อีกวิธีในการกำหนดเวลาให้ตื่นจากโหมดสลีปคือใช้ pmset:

sudo pmset repeat wakeorpoweron MTWRFSU 03:45:00

launchd ไม่สามารถปลุกคอมพิวเตอร์จากโหมดสลีป แต่จะรันงานที่กำหนดไว้ในระหว่างการนอนหลับหลังจากตื่นขึ้นมา หากผู้อื่นค้นหาวิธีการทำเช่นนั้นคุณสามารถบันทึกแผนการนี้เป็น~/Library/LaunchAgents/some.label.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>some.label</string>
  <key>ProgramArguments</key>
  <array>
    <string>say</string>
    <string>a</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Hour</key>
    <integer>23</integer>
    <key>Minute</key>
    <integer>59</integer>
  </dict>
</dict>
</plist>

launchctl load ~/Library/LaunchAgents/some.label.plistจากนั้นเรียก


3

คุณสามารถกำหนดเวลา Macintosh ของคุณให้ปลุกในแผงการตั้งค่า Energy Saver ดูปุ่มกำหนดการ


2

คุณอาจต้องการดูAnacron

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

แอปพลิเคชันอื่นที่อาจทำเคล็ดลับคือปลุก


1

cron จะไม่ทำงานในขณะที่ OSX อยู่ในโหมดสลีป

คุณอาจต้องการดูcronwake (ต้องเรียกใช้ผ่าน Google แปลเนื่องจากเว็บไซต์นี้เป็นภาษาญี่ปุ่นที่ฉันเชื่อ) และanacronหรือคุณสามารถใช้Energy Saverแอปพลิเคชันเพื่อกำหนดเวลาปลุกเพื่อเรียกใช้สคริปต์จากนั้นจึงนำกลับไปนอน

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