Comment exécuter une tâche cron sur un Mac?


12

Comment puis-je faire en sorte que mon Mac (exécutant le système d'exploitation le plus récent) effectue automatiquement une tâche une fois par jour? Par exemple, j'aimerais qu'il télécharge automatiquement une copie de ce manuel de géométrie algébrique open source une fois par jour. J'ai le sentiment qu'une combinaison de wget et cron devrait fonctionner, mais, après avoir googlé et lu la documentation de cron, je n'arrivais tout simplement pas à le faire fonctionner correctement.


2
Je vous suggère de ne pas utiliser Crontab et d'apprendre à utiliser Launchd comme déjà suggéré.
Martin Marconcini

Réponses:


9

Je pense que sous OS X, vous devriez utiliser launchctlpour les "tâches cron".
Mais sinon, votre tâche devrait être facile à faire avec un cronjob
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

Cela devrait fonctionner tous les jours à 23h55

Mise à jour

Vous devez spécifier l'emplacement de sortie de WGET avec -O /path/to/file


2
Si vous utilisez launchd, consultez apple.stackexchange.com/questions/3030/…

2
Vous n'avez pas nécessairement besoin de sudo. Les utilisateurs individuels peuvent avoir leurs propres crontabs
Doug Harris

6

Le démon cron peut être activé par un simple:

sudo touch /private/etc/crontab

Ensuite, il est conseillé d'entrer le chemin complet de votre / usr / local / bin / wget (ou partout où il vit). Cron ne connaît pas $ PATH de votre utilisateur. J'espère que cela aide.



4

Si vous trouvez la syntaxe de ligne de commande (etc.) trop confuse / mystérieuse, vous pouvez vous intéresser à l'outil GUI pour afficher / modifier / créer ces travaux.

Dans le passé, j'ai utilisé Lingon , qui est maintenant disponible sur le Mac App Store. Je n'ai pas besoin de l'utiliser très souvent, mais c'est très utile quand je le fais!


1

Une solution plus élégante (que cron) consiste à utiliser les notifications iCal + Applescript.

Tout d'abord, lancez AppleScript Editor (situé sous / Application / Utilities) et collez le code suivant:

set the destination_file to ("~/Downloads/book.pdf")

set the contentLink to "http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf"

tell application "URL Access Scripting"
    download contentLink to destination_file replacing yes
end tell

Enregistrez le script et quittez l'éditeur AppleScript.

Ouvrez votre iCal et créez un nouvel événement pour aujourd'hui, en réglant l'heure que vous voulez, sélectionnez "répéter: Chaque jour" et comme alarme "Exécuter le script" et sélectionnez votre applescript.

Si vous souhaitez être averti pour chaque téléchargement, vous pouvez ajouter une autre alarme avec un "Message avec son", "à la date".


1

Je recommande les macaronis . Son avantage est que lorsque vous définissez un travail pour qu'il s'exécute une fois par jour, il s'exécute chaque fois que votre ordinateur est allumé, quelle que soit l'heure. Vous ne manquerez donc pas de travail car l'ordinateur était éteint à l'heure indiquée.

Macaroni est un outil qui gère la maintenance régulière de Mac OS X, y compris le processus de privilèges de réparation de Mac OS X ainsi que la maintenance de style Unix. Vous pourriez le faire vous-même, mais n'avez-vous pas des choses plus intéressantes à faire avec votre temps?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.