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


11

Da quando ho eseguito l'aggiornamento a Lion, ho visto una riduzione drastica della produttività quando si trattava di utilizzare iCal. Di conseguenza, sto provando alternative come BusyCal. L'applicazione sembra fantastica, tuttavia non riesco a impostare un allarme per eseguire uno script come potrei in iCal.

Quindi, voglio diventare indipendente da iCal e far funzionare AppleScript ogni giorno senza dover mantenere iCal in esecuzione. Qualche idea su come farlo?

Risposte:


13

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

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

Questo eseguirà un AppleScript chiamato "theScriptToBeExecuted.applescript" situato sul desktop, ogni minuto. I cinque "*" prima del osascriptcomando specificano l'ora. Ecco una tabella che mostra cosa rappresenta ogni campo:

* * * * * comando da eseguire
- - - - -
| | | | |
| | | | + ----- giorno della settimana (0 - 6) (domenica = 0)
| | | + ------- mese (1-12)
| | + --------- giorno del mese (1-31)
| + ----------- ora (0-23)
+ ------------- min (0-59)

Quindi, per eseguire lo stesso comando a mezzanotte (un minuto) (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, consulta questo articolo su cron.

Per salvare il file su cui stai lavorando, digita Control+ X(esci), quindi Y(indica a Terminal che vuoi salvare il file), quindi Enterdigita Ora al prompt cron ~/crontabQuesto dice a cron che dovrebbe guardare 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 AppleScript specifici in determinati orari. È un po 'più facile da usare, ma costa $ 12. Vorrei solo andare con Cronnix (gratuito) o crontab (anche gratis!)


come userei quell'utilità per fare quello che sto cercando di fare?
finiteloop,

1
Vuoi aggiungere la condizione: senza usare il terminale?
GEdgar,

No, sto bene usando il terminale. Vorrei aggiungere la condizione: senza perdere molto tempo imparando un'utilità da riga di comando.
finiteloop,

@segfault Siamo spiacenti, lo stavo scrivendo e ho pubblicato la risposta prima che avessi finito.
daviesgeek,

@segfault NP! Felice di aiutare!
daviesgeek,

2

Nelle versioni recenti di OS X launchdè preferito cron. Ecco un estratto da man crontabMavericks:

Nota Darwin: sebbene cron (8) e crontab (5) siano ufficialmente supportati da Darwin, la loro funzionalità è stata assorbita in launchd (8), che fornisce un modo più flessibile di eseguire automaticamente i comandi.

Puoi controllare launchdusando il built-in launchctlma molte persone (incluso me) usano una GUI chiamata Lingon .

AGGIORNAMENTO: ora uso LaunchControl invece di Lingon. È molto più potente, sebbene l'interfaccia sia più complicata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.