crontab untuk membangunkan osx dari tidur

18

Saya punya crontab yang akan meluncurkan program tertentu di pagi hari (setelah saya tidur) dan menutupnya lagi di pagi hari (sebelum saya bangun). Tapi iMac saya tidak akan menjalankan skrip crontab saat sedang tidur.

Saya melihat ada beberapa preferensi untuk membangunkan mesin dan membuatnya tidur lagi pada waktu yang ditentukan, tetapi apakah ada cara untuk melakukan ini menggunakan crontab?

Nippysaurus
sumber

Jawaban:

27

crontidak dieksekusi saat komputer tertidur, jadi tidak ada cara bagi Anda untuk memiliki entri crontab untuk membangunkan komputer. Yang mengatakan Anda dapat menjadwalkan komputer untuk bangun hanya satu atau dua menit sebelum tugas cron Anda di Preferensi >> Penghemat Energi >> Jadwal.

Penting juga untuk menunjukkan bahwa sejak Tiger, Apple telah memindahkan sebagian besar pekerjaan terjadwal dari crondan skrip suka init.rcke launchdproses. Ini memberikan cara kontrol yang lebih detail (tapi rumit) (melalui beberapa file plist). Ini juga akan secara otomatis menjalankan tugas yang terlewat karena komputer sedang tidur ketika terbangun. Lihatlah halaman Penjadwalan Pekerjaan Berwaktu Apple .

jtb
sumber
Tautan rusak.
retracile
1
Jawaban yang bagus, tetapi bisakah Anda membangunkannya saat laptop ditutup?
Pengguna
4

Cara lain untuk menjadwalkan bangun dari tidur adalah dengan menggunakan pmset:

sudo pmset repeat wakeorpoweron MTWRFSU 03:45:00

launchd tidak dapat membangunkan komputer dari tidur, tetapi menjalankan pekerjaan yang dijadwalkan selama tidur setelah bangun. Jika orang lain mencari cara melakukannya, Anda dapat menyimpan contoh ini sebagai ~/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>

Kemudian jalankan launchctl load ~/Library/LaunchAgents/some.label.plist.

Lri
sumber
3

Anda dapat menjadwalkan Macintosh Anda untuk bangun di panel preferensi Energy Saver. Lihat tombol Jadwal.

Richard Hoskins
sumber
2

Anda mungkin ingin melihat ke dalam Anacron

Anacron menjalankan tugas harian, mingguan, dan bulanan pada Mac Anda meskipun mesin (laptop, misalnya) menghabiskan sebagian besar waktunya untuk tidur atau mati. Anacron diam-diam memeriksa ketika Anda reboot dan setiap enam puluh menit saat komputer berjalan untuk melihat apakah berbagai skrip periodik sudah terlambat, dan menjalankannya jika perlu. Keuntungan Anacron dibandingkan banyak solusi lain untuk masalah ini adalah bahwa ia berjalan sebagai proses latar belakang Unix yang tepat, tidak memerlukan intervensi pengguna, dan menggunakan skrip berkala berkala.

Aplikasi lain yang mungkin berhasil adalah Awaken

Bruce McLeod
sumber
1

cron tidak akan berjalan saat OSX dalam mode tidur.

Anda mungkin ingin melihat cronwake (harus dijalankan melalui google translate karena situsnya adalah bahasa Jepang saya percaya) dan anacron , atau Anda bisa menggunakan Energy Saveraplikasi untuk menjadwalkan waktu bangun untuk menjalankan skrip, kemudian memasukkannya kembali ke mode tidur.

John T
sumber