crontab для того, щоб пробудити вісь зі сну


18

У мене є кронтаб, який запустить певну програму рано вранці (після того, як я заснув) і закрию її знову пізніше вранці (до того, як я прокинусь). Але мій iMac не виконує сценарій crontab, поки він спить.

Я бачу, що є деякі переваги, щоб розбудити машину і змусити її спати знову у визначений час, але чи є спосіб це зробити за допомогою кронтабу?

Відповіді:


28

cronне виконується, поки комп'ютер спить, тому немає можливості мати запис на кроні, щоб розбудити комп'ютер. Це говорить про те, що ви можете запланувати комп'ютер прокидатися за хвилину-дві перед завданням Cron у розділі Налаштування >> Енергозбереження >> Розклад.

Варто також зазначити, що, починаючи з Тигра, Apple перенесла більшість запланованих завдань cronі сценаріїв, як init.rcу launchdпроцесі. Він надає більш детальні (але громіздкі, я думаю) засоби контролю (через кілька файлів плістів). Він також автоматично запускає пропущені завдання, оскільки комп'ютер спить, коли прокидається. Погляньте на сторінку " Планування приурочених робочих місць" Apple .


Посилання розірвано.
ретрансляція

1
Чудова відповідь, але чи можете ви розбудити його, коли ноутбук закритий?
Користувач

4

Ще один спосіб запланувати пробудження зі сну - це використання pmset:

sudo pmset repeat wakeorpoweron MTWRFSU 03:45:00

запуск не може розбудити комп'ютер від сну, але він виконує завдання, заплановані під час сну після пробудження. Якщо інші шукають, як це зробити, ви можете, наприклад, зберегти цей список як ~/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, щоб прокинутися на панелі налаштувань енергозбереження. Дивіться кнопку Розклад.


2

Можливо, ви захочете заглянути в Анакрона

Anacron виконує періодичні щоденні, щотижневі та щомісячні завдання на вашому Mac, навіть якщо машина (наприклад, ноутбук) витрачає значну частину свого часу на сон або вимкнений. Anacron мовчки перевіряє, коли ви перезавантажуєтесь і кожні шістдесят хвилин, поки комп'ютер працює, щоб побачити, чи є різні періодичні сценарії прострочені, і запускає їх, якщо це необхідно. Перевага Anacron перед багатьма іншими рішеннями цієї проблеми полягає в тому, що він працює як належний фоновий процес Unix, не вимагає втручання користувача та використовує регулярні періодичні сценарії.

Інший додаток, який може зробити трюк, - Пробудити


1

cron не працюватиме, поки OSX знаходиться у сплячому режимі.

Ви можете заглянути в cronwake (треба запустити через google translate, оскільки сайт є японською, я вважаю) та анакроном , або ви можете просто скористатися Energy Saverпрограмою, щоб запланувати час пробудження для запуску сценарію, а потім повернути його спати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.