Come posso configurare il mio computer per eseguire un AppleScript in un momento specifico? Avvertenza: senza usare iCal

11

Dall'aggiornamento a Lion, ho notato una riduzione della produttività di punta quando si tratta di utilizzare iCal. Di conseguenza, sto provando alternative come BusyCal. L'applicazione sembra ottima, tuttavia non posso impostare un allarme per eseguire uno script come in iCal.

Quindi, voglio diventare indipendente da iCal e avere un AppleScript eseguito ogni giorno senza dover tenere in funzione iCal. Qualche idea su come fare questo?

    
posta finiteloop 13.09.2011 - 03:25
fonte

2 risposte

13

Puoi eseguire un cronjob usando crontab.
Quindi, in sostanza, per eseguire un cronjob, dovrai digitare nano ~/crontab in Terminale. Questo creerà un nuovo file chiamato "crontab" nella tua cartella home e aprirà un semplice editor di testo in Terminal. Digitare:

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

Questo eseguirà un AppleScript denominato "theScriptToBeExecuted.applescript" che si trova sul desktop, ogni minuto. I cinque "*" prima del comando osascript specificano l'ora. Ecco una tabella per mostrare ciò che ciascun campo rappresenta:

*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of        month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

Quindi, per eseguire lo stesso comando alla mezzanotte (00:01) di ogni giorno del mese, di ogni giorno della settimana, digita questo nel file:

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

Se hai bisogno di maggiori informazioni, dai un'occhiata a questo articolo su cron

Per salvare il file su cui stai lavorando, digita Controllo + X (esci), quindi Y (dice a Terminal che tu vuoi salvare il file), quindi Invio Ora scrivi al prompt cron ~/crontab Questo dice a cron che dovrebbe essere visualizzato il file crontab, se il tuo file è chiamato "crontab" nella tua cartella home .

Un'altra alternativa è Cronnix È una GUI per crontab.

Script Timer è simile, ma esegue gli AppleScript specificati in momenti specifici. È un po 'più facile da usare, ma costa $ 12. Consiglierei di andare con Cronnix (gratuito) o crontab (anche gratis!)

    
risposta data 13.09.2011 - 03:31
fonte
2

Nelle versioni recenti di OS X launchd è preferito a cron . Ecco un estratto da man crontab sotto Mavericks:

Darwin note: Although cron(8) and crontab(5) are officially supported under Darwin, their functionality has been absorbed into launchd(8), which provides a more flexible way of automatically executing commands.

Puoi controllare launchd usando launchctl incorporato ma molte persone (me compreso) usano una GUI chiamata Lingon .

AGGIORNAMENTO: ora utilizzo LaunchControl anziché Lingon. È molto più potente, anche se l'interfaccia è più complicata.

    
risposta data 06.04.2014 - 22:46
fonte

Leggi altre domande sui tag