OS X: ¿Hay un programa programador incorporado?


10

Me gustaría programar una tarea para que se ejecute con parámetros en una fecha / hora específica en el futuro.

¿OS X incluye alguna herramienta de este tipo (incluso si es la línea de comandos)? Si no, ¿existen herramientas gratuitas o relativamente baratas para lograr esto?

Respuestas:


14

Si bien la respuesta de KeithB es correcta, en realidad, cron está en desuso en favor del OS X específico launchd .

Los comandos a ejecutar launchdse describen en las "listas" de Apple, o listas de propiedades, que en realidad son solo archivos XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>  
    <key>Label</key>
    <string>com.apple.periodic-daily</string>
    <key>ProgramArguments</key>
    <array> 
        <string>/usr/sbin/periodic</string>
        <string>daily</string>
    </array>
    <key>LowPriorityIO</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
    <key>StartCalendarInterval</key>
    <dict>  
        <key>Hour</key>
        <integer>3</integer>
        <key>Minute</key>
        <integer>15</integer>
    </dict>
</dict>
</plist>

Dicho esto, no es una forma muy fácil de usar (ni similar a Mac) de programar comandos para que se ejecuten. Esta pregunta en SuperUser enumera algunas alternativas de GUI, que incluyen:

Lingon Screencap

launchd Editor ($ 5 Shareware)

La captura de pantalla


3
No es una caracterización justa que launchd sea "patentado". Apple lo abrió con entusiasmo en launchd.macosforge.org y ha sido portado a FreeBSD.
ohmantics

@ohmantics: Ok, punto justo. ¿Es "específico" una mejor descripción?
Josh

Suficientemente cerca. :-) Apple lo creó, pero espero que vea una adopción más amplia en sistemas operativos tipo BSD.
ohmantics

@calavera: Gracias por la edición. Odio cuando los documentos en los principales sitios web se eliminan así. Agregué un nuevo enlace que lamentablemente es menos relevante, no menciona específicamente que haya cronquedado en desuso :-(
Josh

np ... desafortunadamente Apple parece hacerlo mucho: /
Robert S Ciaccio

4

También puede iniciar flujos de trabajo de Automator con iCal si solo desea algo simple. De lo contrario lo haría a través de launchd.


El único problema con iCal es que debes iniciar sesión para que la tarea se ejecute (¿correcto?)
Josh

Sí, creo que debes iniciar sesión para hacer esto. Yo recomendaría el proceso launchd sobre esto, pero algunas personas prefieren utilizar sólo iCal y siempre está en el sistema.
jmlumpkin

¡iCal es una solución mucho más fácil! Vea las tapas de pantalla que publiqué. Estoy seguro de que pueden ver cómo podrían ser intimidantes :-)
Josh

solo para aclarar, sus capturas de pantalla son para la configuración de launchd, ¿correcto?
jmlumpkin

2

Hay dos herramientas de línea de comandos de Unix que hacen lo que quieres. atle permitirá programar una tarea para que se ejecute una vez en un momento específico en el futuro. Por supuesto, parte de la tarea podría ser programar otra tarea.

cron le permite programar tareas para ejecutarlas regularmente al mismo tiempo, según la hora del día, el día de la semana, etc.

Una cosa a tener en cuenta es que ambos no ejecutarán tareas si su máquina no está funcionando en el momento programado. Existen alternativas, como anacron, que ejecutarán tareas programadas la próxima vez que la máquina arranque.


1
Tenga en cuenta que, de forma predeterminada, el comando "at" está deshabilitado. Use "man atrun" para descubrir cómo habilitarlo.
Kristopher Johnson

2

iCal se puede usar para ejecutar AppleScripts , iniciar aplicaciones y realizar tareas según un cronograma.

Existen limitaciones para usar iCal, pero se incluye con Mac OS X y es relativamente fácil de configurar. Las limitaciones y un recorrido visual sobre cómo configurar un AppleScript programado se incluyen en el enlace de arriba.

Configurar un AppleScript programado con iCal en Mac OS X

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.