6 votos

cron no ejecuta mi AppleScript

Tengo el siguiente código en un archivo de texto (myfile.applescript):

#! /usr/bin/osascript
tell application "Google Chrome" to quit

Me gustaría que Chrome se apagara cada noche a las 9:15PM, así que añadí la siguiente tarea cron a crontab:

15 21 * * * ~/Desktop/myfile.applescript

Por desgracia, el script no se activa. ¿Alguna idea?

NOTA: Soy consciente de que puedo utilizar iCal para resolver este problema. Sin embargo, prefiero no saturar mi calendario con un evento diario script.

4voto

Chris Lieb Puntos 106

Cron ha quedado obsoleto en las versiones modernas de OS X. La sugerencia de Apple es utilizar lanzamientod en su lugar. Encontrará Lingon para ser una herramienta útil para crear demonios launchd.

Si prefiere utilizar iCal para lanzar el script</strkeep><strkeep>, puede crear un calendario separado para los eventos con script, y ocultarlo de la vista. Funcionará, pero la vista de su calendario no estará desordenada.

enter image description here

4voto

Christopher Scott Puntos 665

Asegúrese de que el ~/Desktop/myfile.applescript es ejecutable. Sólo se puede llamar a un script por nombre de archivo si tiene el bit de ejecución correspondiente.

Considere la siguiente sesión de Terminal:

$ ls -laFh sh.sh
-rw-rw-r--  1 jason  staff   278B Mar  2 10:18 sh.sh

$ ./sh.sh
-bash: ./sh.sh: Permission denied

$ chmod 764 sh.sh

$ ls -laFh sh.sh
-rwxrw-r--  1 jason  staff    32B Mar  7 09:40 sh.sh*

$ ./sh.sh 
Hello World!

Hasta que no tuviera permisos de ejecución (indicados con una 'x' en la 4ª, 7ª o 10ª ranura de la cadena de permisos), no podría ejecutarlo.

Se puede anular llamando al archivo con su intérprete particular:

$ chmod 664 sh.sh

$ ls -laFh sh.sh
-rw-rw-r--  1 jason  staff    32B Mar  7 09:40 sh.sh

$ ./sh.sh
-bash: ./sh.sh: Permission denied

$ sh sh.sh
Hello World!

2voto

benwh Puntos 166

Descubrí que mi script original funcionaba. El problema tenía que ver con mi entrada de cron: no se terminaba con un retorno de carro. Una vez que lo hice, el applescript se activó correctamente.

1voto

zippy Puntos 1215

Prueba lo siguiente en tu script.

#!/usr/bin/bash
/usr/bin/osascript -e 'tell application "Google Chrome" to quit'

Asegúrese de que es chmod +x y prueba desde el CLI.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X