¿Cómo puedo configurar mi computadora para ejecutar un AppleScript en un momento específico? Advertencia: sin usar iCal

Desde que actualicé a Lion, he visto una leve disminución de la productividad cuando se trata de usar iCal. Como resultado, estoy probando alternativas como BusyCal. La aplicación parece excelente, sin embargo, no puedo configurar una alarma para ejecutar un script como podría hacerlo en iCal.

Por lo tanto, quiero independizarme de iCal y ejecutar AppleScript todos los días sin tener que mantener iCal en funcionamiento. ¿Alguna idea de cómo hacer esto?

Respuestas (2)

Puede ejecutar un cronjob usando crontab.
Básicamente, para ejecutar un cronjob, deberá escribir nano ~/crontabTerminal. Esto creará un nuevo archivo llamado "crontab" en su carpeta de inicio y abrirá un editor de texto simple en Terminal. Escribe:

* * * * * osascript ~/Desktop/theScriptToBeExecuted.applescript

Esto ejecutará un AppleScript llamado "theScriptToBeExecuted.applescript" ubicado en su escritorio, cada minuto. Los cinco "*" antes del osascriptcomando especifican la hora. Aquí hay una tabla para mostrarle lo que significa cada campo:

* * * * * Comando a ejecutar
- - - - -
| | | | |
| | | | +----- día de la semana (0 - 6) (Domingo=0)
| | | +------- mes (1 - 12)
| | +--------- día del mes (1 - 31)
| +-----------hora (0 - 23)
+-------------mín (0 - 59)

Entonces, para ejecutar el mismo comando un minuto después de la medianoche (00:01) de todos los días del mes, de todos los días de la semana, escriba esto en el archivo:

1 0 * * * osascript ~/Desktop/theScriptToBeExecuted.applescript

Si necesita más información, consulte este artículo sobre cron.

Para guardar el archivo en el que está trabajando, escriba Control+ X(salir), luego Y(le dice a la Terminal que desea guardar el archivo), luego Enterescriba Ahora en el indicador cron ~/crontabEsto le dice a cron que debería estar mirando el archivo crontab, si su archivo se llama "crontab" en su carpeta de inicio.

Otra alternativa es Cronnix Es una GUI para crontab.

Script Timer es similar, pero ejecuta AppleScripts específicos en momentos específicos. Es un poco más fácil de usar, pero cuesta $12. Recomendaría ir con Cronnix (gratis) o crontab (¡también gratis!)

¿Cómo usaría esa utilidad para hacer lo que estoy tratando de hacer?
¿Quieres agregar la condición: sin usar terminal?
No, estoy bien con el uso de la terminal. Me gustaría agregar la condición: sin perder mucho tiempo aprendiendo una utilidad de línea de comandos.
@segfault Lo siento, lo estaba escribiendo y publiqué la respuesta antes de terminar.
@segfault NP! ¡Encantado de ayudar!

En versiones recientes de OS X launchdse prefiere a cron. Aquí hay un extracto de man crontabMavericks:

Nota de Darwin: Aunque cron(8) y crontab(5) son compatibles oficialmente con Darwin, su funcionalidad ha sido absorbida por launchd(8), que proporciona una forma más flexible de ejecutar comandos automáticamente.

Puede controlar launchdusando el incorporado, launchctlpero muchas personas (incluyéndome a mí) usan una GUI llamada Lingon .

ACTUALIZACIÓN: ahora uso LaunchControl en lugar de Lingon. Es mucho más potente, aunque la interfaz es más complicada.