Top Promos Apple Test Apple Antivirus Mac Dock Thunderbolt Sunology Comparatif iPhone Nettoyeur Mac

Articles

Mac

Cron, comment ça marche

Par Coco - Mis à jour le

Les News




Introduction

27/06/03

A l'heure où tous les sites de la communauté Mac ne parlent plus que du G5 et de Panther, laissez moi vous parer d'une unixerie solidement ancrée dans OS X, j'ai nommé cron.

Alors, cron, comme son nom ne l'indique pas, est un système permettant l'execution programmée de commandes. Le mécanisme se base sur un démon éponyme (/usr/sbin/cron) qui lit toutes les minutes des fichiers appelés crontabs dans lesquels sont consignées les commandes a éxécuter. Ainsi tous les réglages se font dans les crontabs.

Avant de nous aventurer dans le fonctionnement des crontabs, notons que OS X utilise en fait un autre executable, /System/Library/StartupItems/Cron/Cron, lançé par SystemStarter lors du démarrage. Ce programme lance à son tour le logiciel unix /usr/sbin/cron qui tournera jusqu'à l'extinction de votre système, sans toutefois le perturber (regardez donc son occupation CPU et mémoire dans ProcessViewer..).

Demain nous verrons donc comment configurer les crontabs.

Crontabs: usage général

28/06/03

Les fichiers crontabs dont je vous ai parlé hier sont stockés dans /private/var/cron/tabs. Chaque utilisateur possède un fichier crontab à son nom.

Pour éditer ces crontabs, ne lancez surtout pas TextEdit ! Il existe une commande spécifique nommée... crontab !
Sa syntaxe est crontab [-u user] { -l | -r | -e }.
L'option -r permet de supprimer le fichier crontab, l'option -l de l'afficher et enfin l'option -e de l'éditer. Toutes ces opérations se font sur le crontab du user spécifié et le cas échéant sur celui de l'utilisateur courant.

Vous pouvez créer une liste des utilisateurs autorisés à éxécuter cette commande dans /private/var/cron/allow ou au contraire une liste noire dans /private/var/cron/deny.

Enfin l'édition du crontab se fait dans vi selon une syntaxe que nous verrons lors du prochain épisode... (si c'est pas du bon teasing ça..)

Crontabs: syntaxe

29/06/03

Nous savons maintenant ouvrir des crontabs dans l'éditeur vi. Reste à savoir de quel manière s'écrit une ligne compréhensible par cron.

Il existe en fait deux types de lignes. Le premier est simplement une affectation de variable du type:
VAR=val

Les variables que vous pouvez avoir à définir sont par exemple MAILTO, SHELL, HOME.. (pour une liste exhaustive, se référer à man 5 crontab).

Ensuite viennent les commandes programmées. Une ligne de ce type comporte cinq champs définissant l'heure d'execution (suivis de la commande proprement dite). Ces champs sont:
minutes: de 0 à 59
heures: de 0 à 23
jour du mois: de 1 à 31
mois: de 0 à 12
jour de la semaine: de 0 à 7.

Pour les mois et les jours de la semaine vous pouvez utiliser les noms anglais.

Vous pouvez spécifier un intervalle du type 0-4, une liste de la forme 12,16,19 ou encore un intervalle avec un pas: 0-12/2, ce qui est équivalent à 0,2,4,6,8,10,12.

Enfin une astérisque * signifie comme d'habitude tout, ce qui permet les répétitions d'événements.

Après cela vient la commande, commande unix tout à fait normale.

Je vous proposerai demain des exemples de fichier crontab pour mieux comprendre le fonctionnement...

Exemples de crontabs

30/06/03

Comme promis voici un ou deux exemples de fichiers crontab. Commençons par un fichier crontab typique pour l'utilisateur root:

#on demande à ce que les éventuels mails soient envoyés à l'administrateur:
MAILTO=coco
SHELL=/bin/sh
#on vérifie tous les jours que les droits en écriture sur certains dossiers n'ont pas été redonnés:
0 [ ] [ ] chmod g-w / /Users
#Tous les jours à 2H30, lancer le script d'entretien quotidient
30 2 [ ] [ /etc/daily > /private/var/log/daily.out
#Toutes les semaines à 3H00:
0 3 ] [ 0 /etc/weekly > /private/var/log/weekly.out
#Tous les mois à 3H30:
30 3 1 ] [ /etc/monthly > /private/var/log/monthly.out


Voilà encore quelques exemples tirés de man 5 crontab:

23 0-23/2 ] [ ] echo "run 23 minutes after midn, 2am, 4am ..., everyday"
5 4 [ ] sun echo "run at 5 after 4 every sunday"
# run at 10 pm on weekdays, annoy Joe
0 22 [ ] 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%


Je rapelle que les symboles % représentent des sauts de ligne.

Conclusion



Ca y est vous connaissez tout sur cron.
Vous pouvez maintenant programmer les taches de maintenance (ou autres choses) pour éviter d'avoir à les lancer manuellement. C'est beau quand il n'y a plus rien à faire, non ?
Mac4Ever recrute sur Paris et Nîmes

Mac4Ever recrute sur Paris et Nîmes

Mac4ever renforce ses équipes et recherche plusieurs personnes pour participer à la rédaction de son fil d'actualité, à la création de contenu vidéo, ainsi qu'à l'amélioration du référencement des contenus. Si tu es intéressé, n'hésite pas à postuler !

Le Samsung ViewFinity S9 5K en promo (-300€) ! Une bonne alternative au Studio Display !

Le Samsung ViewFinity S9 5K en promo (-300€) ! Une bonne alternative au Studio Display !

Le marché compte très peu de moniteurs 5K, et Samsung croise le fer sur ce petit marché avec le Studio Display d'Apple en proposant...

Le MacBook Air M1 de retour à 799€ ! Son prix le plus bas !

Le MacBook Air M1 de retour à 799€ ! Son prix le plus bas !

Si vous cherchez un Mac neuf, compact, capable de supporter sans sourciller les tâches du quotidien et offrant une bonne autonomie, le tout en...

Dernier jour pour du cloud à vie jusqu'à 65% de réduction sur les offres pCloud 2, 5 ou 10To !

Dernier jour pour du cloud à vie jusqu'à 65% de réduction sur les offres pCloud 2, 5 ou 10To !

La société suisse pCloud vous propose à l'occasion de la Journée des familles 2024, une belle promotion sur le plan à vie...

Intel connecte les PC avec Thunderbolt Share, mais pas les Mac

Intel connecte les PC avec Thunderbolt Share, mais pas les Mac

Intel lance une nouvelle application permettant de partager certains éléments entre plusieurs PC via une connexion en Thunderbolt.

Le clavier Logitech MX Keys Mini pour Mac et iPad en promo à -29% !

Le clavier Logitech MX Keys Mini pour Mac et iPad en promo à -29% !

Si vous n'appréciez pas les Magic Keyboard d'Apple, que ce soit pou rMac ou iPad, une des meilleures alternatives est le MX Keys Mini de Logitech,...

L'excellent outil de capture d'écran CleanShot X s'améliore encore !

L'excellent outil de capture d'écran CleanShot X s'améliore encore !

Si vous prenez très fréquemment des captures d'écrans, certains logiciels proposent davantage de foncions que l'outil...

Le MacBook Air M3 15 pouces à son prix le plus bas ! Jusqu'à -210€ en 16/512Go !

Le MacBook Air M3 15 pouces à son prix le plus bas ! Jusqu'à -210€ en 16/512Go !

Les MacBook Air M3 15 pouces ont été lancés en mars dernier et profitent désormais de premières promotions...

VMware Fusion Pro est gratuit pour un usage personnel ! Voici comment installer Windows sur Mac !

VMware Fusion Pro est gratuit pour un usage personnel ! Voici comment installer Windows sur Mac !

La solution de virtualisation VMware Fusion Pro, désormais dans le giron de Broadcom, devient totalement gratuite pour un usage personnel.

Commentaires

Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.

10 commentaires
Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.