Petit truc en vrac

Je suis souvent confronté à des petits problèmes dont je ne trouve pas immédiatement la solution (ce qui n'engendre chez moi que frustration et désespoir, et chez certains de mes collègues une perte de leur capacité auditive). Et parfois, après, alors que j'étais sur totalement autre chose, je découvre ce que je cherchais désespérement. Si, si.

Dans le principe que "Si j'ai ce problème, il y a de fortes chances que d'autres soient dans le même cas de figure", voici le premier billet d'une probablement longue série.

Problème: Comment executer un script au démarrage d'une machine quand on n'est pas root !
Quelques précisions: l'un de mes amis et colocataires de notre serveur dédié utilise fetchmail. Mais à chaque fois qu'il y a reboot du serveur (ce qui est arrivé une ou deux fois), adieu fetchmail... Donc pour parer à cela, il a ajouté un script dans sa crontab pour vérifier toutes les heures si fetchmail est démarré, et dans le cas contraire, le script lance fetchmail. Pas mal mais peut on faire mieux ?

La réponse est oui, du moins si on utilise Vixie cron (le cron par défaut d'ubuntu et de tant d'autres) dans sa version 3 (qui date de 1993). Oui, ce bon vieux cron que l'on croit seulement capable de lancer des tâches périodiquement. En faisant un simple man 5 crontab, on tombe sur ce paragraphe:

À la place des cinq premiers champs peut apparaître l’une des huit chaînes spéciales :


              chaîne         signification
              ------         -------
              @reboot        Exécuter une fois au démarrage.
              @yearly        Exécuter une fois par an, « 0 0 1 1 * ».
              @annually      (idem que @yearly)
              @monthly       Exécuter une fois par mois, « 0 0 1 * * ».
              @weekly        Exécuter une fois par semaine, « 0 0 * * 0 ».
              @daily         Exécuter une fois par jour, « 0 0 * * * ».
              @midnight      (idem que @daily)
              @hourly        Exécuter une fois par heure, « 0 * * * * ».

et oui un simple @reboot et le tour est joué...

Commentaires

1. Le mercredi 3 octobre 2007, 08:31 par Vincent

Classique, mais efficace. Quand j'ai découvert cela il y a un an ou deux, cela a été l'illumination suivie immédiatement d'une paix intérieure intense.

Comme quoi, les petits bonheurs...