OS X: Existe-t-il un programme de planification intégré?

10

Je voudrais planifier une tâche à exécuter avec des paramètres à une heure / date spécifique dans le futur.

OS X inclut-il un tel outil (même s'il s'agit de la ligne de commande)? Sinon, existe-t-il des outils gratuits ou relativement bon marché pour y parvenir?

glenneroo
la source

Réponses:

14

Bien que la réponse de KeithB soit correcte, elle cron est en fait dépréciée au profit de l' OS X spécifique launchd .

Les commandes à exécuter via launchdsont décrites dans les "plists" d'Apple, ou listes de propriétés, qui ne sont en réalité que des fichiers XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>  
    <key>Label</key>
    <string>com.apple.periodic-daily</string>
    <key>ProgramArguments</key>
    <array> 
        <string>/usr/sbin/periodic</string>
        <string>daily</string>
    </array>
    <key>LowPriorityIO</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
    <key>StartCalendarInterval</key>
    <dict>  
        <key>Hour</key>
        <integer>3</integer>
        <key>Minute</key>
        <integer>15</integer>
    </dict>
</dict>
</plist>

Cela dit, ce n'est pas un moyen très convivial (ni semblable à Mac) de planifier des commandes à exécuter. Cette question sur SuperUser répertorie quelques alternatives GUI, notamment:

Lingon Screencap

launchd Editor (Shareware 5 $)

Capture d'écran

Josh
la source
3
Ce n'est pas une caractérisation juste que launchd est "propriétaire". Apple l'a ouvert avec impatience sur launchd.macosforge.org et il a été porté sur FreeBSD.
ohmantics
@ohmantics: Ok, juste point. «Spécifique» est-il une meilleure description?
Josh
Assez proche. :-) Apple l'a créé, mais je m'attends à ce qu'il soit adopté plus largement sur les systèmes d'exploitation de type BSD.
ohmantics
@calavera: Merci pour la modification. Je déteste quand des documents sur les principaux sites Web sont supprimés comme ça. J'ai ajouté un nouveau lien qui est malheureusement moins pertinent, il ne mentionne pas spécifiquement d' cronêtre obsolète :-(
Josh
np ... malheureusement Apple semble en faire beaucoup: /
Robert S Ciaccio
4

Vous pouvez également démarrer des workflows Automator avec iCal si vous voulez simplement quelque chose de simple. Sinon, je le ferais via launchd.

jmlumpkin
la source
Le seul problème avec iCal est que vous devez être connecté pour que la tâche s'exécute (correct?)
Josh
oui, je pense que vous devez être connecté pour ce faire. Je recommanderais le processus launchd à ce sujet, mais certaines personnes préfèrent simplement utiliser iCal et sont toujours connectées.
jmlumpkin
iCal est une solution beaucoup plus simple! Voir les captures d'écran que j'ai publiées. Je peux vraiment voir comment ils pourraient être intimidants :-)
Josh
juste pour des éclaircissements, vos captures d'écran sont pour la configuration de launchd, correct?
jmlumpkin
2

Il existe deux outils de ligne de commande Unix qui font ce que vous voulez. atvous permettra de planifier une tâche à exécuter une fois à un moment précis dans le futur. Bien sûr, une partie de la tâche pourrait être de planifier une autre tâche.

cron vous permet de planifier des tâches à exécuter régulièrement en même temps, en fonction de l'heure de la journée, du jour de la semaine, etc.

Une chose à noter est que les deux n'exécuteront pas de tâches si votre machine ne fonctionne pas au moment où elles sont planifiées. Il existe des alternatives, comme anacron, qui exécuteront des tâches planifiées au prochain démarrage de la machine.

KeithB
la source
1
Notez que, par défaut, la commande "at" est désactivée. Utilisez "man atrun" pour savoir comment l'activer.
Kristopher Johnson
2

iCal peut être utilisé pour exécuter des scripts Apple , lancer des applications et effectuer des tâches selon un calendrier.

Il y a des limites à l'utilisation d'iCal, mais il est inclus avec Mac OS X et relativement facile à configurer. Les limitations et une présentation visuelle de la configuration d'un AppleScript planifié sont incluses dans le lien ci-dessus.

Configuration d'un AppleScript planifié avec iCal sur Mac OS X

Graham Miln
la source