11 votes

Comment puis-je configurer mon ordinateur pour qu'il exécute un AppleScript à un moment précis ? Avertissement : sans utiliser iCal

Depuis la mise à niveau vers Lion, j'ai constaté une baisse sensible de la productivité lorsqu'il s'agit d'utiliser iCal. Par conséquent, j'essaie des alternatives telles que BusyCal. L'application semble excellente, mais je ne peux pas définir une alarme pour exécuter un script comme je le pouvais dans iCal.

Par conséquent, je veux devenir indépendant d'iCal et avoir un AppleScript qui s'exécute tous les jours sans avoir à faire tourner iCal. Avez-vous une idée de la manière de procéder ?

14voto

daviesgeek Points 35275

Vous pouvez exécuter un cronjob en utilisant crontab.
Donc, en gros, pour lancer un cronjob, vous devez taper nano ~/crontab dans le terminal. Cela créera un nouveau fichier appelé "crontab" dans votre dossier personnel, et ouvrira un éditeur de texte simple dans Terminal. Tapez :

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

Ceci exécutera un AppleScript nommé "theScriptToBeExecuted.applescript" situé sur votre bureau, toutes les minutes. Les cinq "*" qui précèdent le osascript spécifie l'heure. Voici un tableau qui vous montre la signification de chaque champ :

\*     \*     \*   \*    \*        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)

Ainsi, pour exécuter la même commande à minuit une minute (00:01) de chaque jour du mois, de chaque jour de la semaine, tapez ceci dans le fichier :

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

Si vous avez besoin de plus d'informations, consultez le site cet article sur le cron.

Pour enregistrer le fichier sur lequel vous travaillez, tapez Control + X (sort), puis Y (indique au Terminal que vous voulez effectivement enregistrer le fichier), puis Enter Maintenant, tapez à l'invite cron ~/crontab Cela indique à cron qu'il doit regarder le fichier crontab, si votre fichier est nommé "crontab" dans votre dossier personnel.

Une autre alternative est Cronnix C'est une interface graphique pour crontab.

script Timer est similaire, mais il exécute des AppleScripts spécifiés à des moments précis. Il est un peu plus facile à utiliser, mais il coûte 12 $. Je recommanderais simplement d'aller avec Cronnix (gratuit) ou crontab (également gratuit !).

3voto

Romme Points 787

Dans les versions récentes d'OS X launchd est préféré à cron . Voici un extrait de man crontab sous les Mavericks :

Note Darwin : Bien que cron(8) et crontab(5) soient officiellement supportés sous Darwin, leurs fonctionnalités ont été absorbées par launchd(8), qui fournit une manière plus flexible d'exécuter automatiquement des commandes.

Vous pouvez contrôler launchd en utilisant la fonction intégrée launchctl mais beaucoup de gens (dont moi) utilisent une interface graphique appelée Lingon .

MISE À JOUR : J'utilise maintenant LaunchControl au lieu de Lingon. C'est beaucoup plus puissant, mais l'interface est plus compliquée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X