it-swarm-es.tech

crontab para despertar a osx del sueño

Tengo un crontab que lanzará un programa determinado temprano en la mañana (después de que me haya ido a dormir) y lo cerrará más tarde en la mañana (antes de despertarme). Pero mi iMac no ejecutará el script crontab mientras está inactivo.

Veo que hay algunas preferencias para activar la máquina y hacer que vuelva a dormir a una hora específica, pero ¿hay alguna forma de hacerlo usando crontab?

18
Nippysaurus

cron no se ejecuta mientras la computadora está inactiva, por lo que no hay forma de que tenga una entrada crontab para activar la computadora. Dicho esto, puede programar la computadora para que se active uno o dos minutos antes de su tarea cron en Preferencias >> Ahorro de energía >> Programación.

También vale la pena señalar que desde Tiger, Apple ha movido la mayoría de los trabajos programados de cron y scripts como init.rc al proceso launchd. Proporciona medios de control más detallados (pero engorrosos, creo) (a través de varios archivos plist). También ejecutará automáticamente las tareas perdidas porque la computadora estaba inactiva cuando se despierta. Eche un vistazo a la página Programación de trabajos programados de Apple.

29
jtb

Otra forma de programar el despertar del sueño es usar pmset:

Sudo pmset repeat wakeorpoweron MTWRFSU 03:45:00

launchd no puede reactivar una computadora desde la suspensión, pero ejecuta trabajos programados durante la suspensión después de activarse. Si otros buscan cómo hacerlo, puede, por ejemplo, guardar este plist como ~/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>

Entonces corre launchctl load ~/Library/LaunchAgents/some.label.plist.

4
Lri

Puede programar su Macintosh para que se active en el panel de preferencias de Ahorro de energía. Vea el botón Programar.

3
Richard Hoskins

Es posible que desee examinar Anacron

Anacron ejecuta las tareas periódicas diarias, semanales y mensuales en su Mac incluso si la máquina (una computadora portátil, por ejemplo) pasa gran parte de su tiempo dormida o apagada. Anacron verifica silenciosamente cuando reinicia y cada sesenta minutos mientras la computadora está funcionando para ver si los diferentes scripts periódicos están vencidos, y los ejecuta si es necesario. La ventaja de Anacron sobre muchas otras soluciones a este problema es que se ejecuta como un proceso de fondo Unix adecuado, no requiere la intervención del usuario y utiliza los scripts periódicos regulares.

Otra aplicación que podría funcionar es Despertar

2
Bruce McLeod

cron no se ejecutará mientras OSX esté en modo de suspensión.

Es posible que desee buscar en cronwake (debe ejecutar el traductor de Google ya que el sitio es japonés, creo) y anacron , o simplemente puede usar el Energy Saver aplicación para programar una hora de activación para ejecutar el script, luego volver a ponerlo en suspensión.

1
John T