Wie kann ich meinen Computer so konfigurieren, dass zu einem bestimmten Zeitpunkt ein AppleScript ausgeführt wird? Vorsichtsmaßnahme: ohne Verwendung von iCal

11

Seit dem Upgrade auf Lion habe ich einen leichten Rückgang der Produktivität bei der Verwendung von iCal festgestellt. Aus diesem Grund versuche ich Alternativen wie BusyCal. Die Anwendung scheint großartig zu sein, ich kann jedoch keinen Alarm einstellen, um ein Skript wie in iCal auszuführen.

Daher möchte ich unabhängig von iCal werden und jeden Tag ein AppleScript ausführen lassen, ohne dass iCal weiter ausgeführt werden muss. Irgendeine Idee, wie das geht?

finiteloop
quelle

Antworten:

13

Sie können einen Cronjob mit Crontab ausführen .
Um einen Cronjob auszuführen, müssen Sie nano ~/crontabTerminal eingeben . Dadurch wird eine neue Datei mit dem Namen "crontab" in Ihrem Home-Ordner erstellt und ein einfacher Texteditor in Terminal geöffnet. Art:

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

Dadurch wird jede Minute ein AppleScript mit dem Namen "theScriptToBeExecuted.applescript" auf Ihrem Desktop ausgeführt. Die fünf "*" vor dem osascriptBefehl geben die Zeit an. Hier ist eine Tabelle, die Ihnen zeigt, wofür jedes Feld steht:

* * * * * auszuführender Befehl
- - - - -
| | | | |
| | | | + ----- Wochentag (0 - 6) (Sonntag = 0)
| | | + ------- Monat (1 - 12)
| | + --------- Tag des Monats (1 - 31)
| + ----------- Stunde (0 - 23)
+ ------------- min (0 - 59)

Geben Sie Folgendes in die Datei ein, um denselben Befehl an jedem Tag des Monats und an jedem Wochentag um eine Minute nach Mitternacht (00:01) auszuführen:

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

Wenn Sie weitere Informationen benötigen, lesen Sie diesen Artikel über cron.

Um die Datei zu speichern, an der Sie arbeiten, geben Sie Control+ X(wird beendet) und dann Y(teilt Terminal mit, dass Sie die Datei speichern möchten) ein. Geben Sie dann Enteran der Eingabeaufforderung Folgendes ein. cron ~/crontabDies teilt cron mit, dass die crontab-Datei angezeigt werden soll. wenn Ihre Datei in Ihrem Home-Ordner "crontab" heißt.

Eine andere Alternative ist Cronnix. Es ist eine GUI für Crontab.

Der Skript-Timer ist ähnlich, führt jedoch bestimmte AppleScripts zu bestimmten Zeiten aus. Es ist etwas einfacher zu bedienen, kostet aber 12 US-Dollar. Ich würde empfehlen, nur mit Cronnix (kostenlos) oder Crontab (auch kostenlos!) Zu gehen.

daviesgeek
quelle
Wie würde ich dieses Dienstprogramm verwenden, um das zu tun, was ich versuche?
Finiteloop
1
Möchten Sie die Bedingung hinzufügen: ohne Terminal?
GEdgar
Nein, ich kann das Terminal gut benutzen. Ich möchte die Bedingung hinzufügen: ohne viel Zeit damit zu verbringen, ein Befehlszeilenprogramm zu erlernen.
Finiteloop
@segfault Entschuldigung, ich habe es getippt und die Antwort gepostet, bevor ich fertig war.
Daviesgeek
@ Segfault NP! Froh, dass ich Helfen kann!
Daviesgeek
2

In neueren Versionen von OS X launchdwird bevorzugt cron. Hier ist ein Auszug man crontabunter Mavericks:

Darwin-Hinweis: Obwohl cron (8) und crontab (5) unter Darwin offiziell unterstützt werden, wurde ihre Funktionalität in launchd (8) übernommen, was eine flexiblere Möglichkeit zur automatischen Ausführung von Befehlen bietet.

Sie können launchdüber die integrierte Funktion steuern , launchctlaber viele Benutzer (einschließlich ich) verwenden eine grafische Benutzeroberfläche namens Lingon .

UPDATE: Ich verwende jetzt LaunchControl anstelle von Lingon. Es ist viel leistungsfähiger, obwohl die Benutzeroberfläche komplizierter ist.

kuzzooroo
quelle