[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: comprendre mon crontab



Salut,

On Wed, Jul 27, 2005 at 01:06:08AM +0200, Eddy wrote:
> >Je comprends pas pourquoi il fait un test sur l'existence
> >de /sbin/anacron  (-x fichier Vrai si le fichier existe et est
> >exécutable),
> 
> Supposons que ton PC soit resté éteint le WE.
> Tu l'allumes lundi matin, à 6h10.
> Anacron constate que les scripts de /etc/cron.daily n'ont pas été 
> exécutés depuis plus de 1 jour (délai spécifié dans /etc/anacrontab) et 
> les exécute.
> Un quart d'heure plus tard, à 6h25 d'après ton crontab, cron se 
> réveille. S'il n'y avait pas ce test sur anacron, cron relancerait les 
> scripts exécutés juste avant par anacrontab ce qui est franchement 
> inutile. Avec ce test, cron se dit qu'anacron est là, lui fait confiance 
> et se rendort.
> 
> (Il y a peut-être une meilleure raison à l'existence de ce test mais je 
> ne la connais pas !)

C'est exactment ça.

> 
> Ce fonctionnement me semble idéal pour une machine qui est *éteinte* 
> chaque jour.
> 
> *Je me demande* s'il n'y a pas des cas très particuliers où il pourrait 
> être utile d'enlever ces tests de son crontab pour ne laisser que les 
> "run-parts...". *Je pense* que, contrairement à cron, anacron n'est pas 
> un démon : il est exécuté au démarrage de la machine puis s'arrête.
> Supposons que tu allumes ta machine tous les lundis matins pour ne 
> l'éteindre que le jeudi soir et que les vendredis, samedis et dimanches 
> tu ne l'allumes que pendant deux heures. Ces jours-là, anacron lancera 
> les scripts de /etc/cron.daily au démarrage; mais les mardis, mercredis 
> et jeudis ils ne seront pas exécutés du tout. A vérifier !

Il y a /etc/cron.d/anacron qui sert a s'occuper de ça.
Pour les laptops avec apm, il y a aussi: /etc/apm/event.d/anacron pour
quand le laptop est reveillé.

> >pour les daily, monthly et weekly et pas pour les hourly.
> 
> Parce que anacron travaille en jours : il lance les scripts qui n'ont 
> pas été exécutés depuis x jours et n'est donc pas utile pour des scripts 
> qui doivent être exécutés toutes les heures.
> 
> >Dans /etc/cron.hourly y a  juste .placeholder qui est la juste pour que
> >le repertoire reste là et ne soit pas effacer. 
> 
> Chez moi aussi. Je ne parviens d'ailleurs pas à imaginer quelle tâche
> devrait absolument être exécutée toutes les heures sur ma machine de bureau.
> Peut-être que sur un gros serveur on pourrait imaginer des opérations 
> horaires de nettoyage ?

Dans ce cas, les operations sont en général échelonnées pour que la
machine puisse suivre.

Pasc
-- 
Pascal Hakim                                     +61 403 411 672
Do Not Bend



Reply to: