OVH Cloud OVH Cloud

crontab: traitement en retard

5 réponses
Avatar
Xavier Maillard
Bonsoir,

Question stupide mais je ne vois pas comment la résoudre pour
autant.

Admettons que ma crontab ait une entrée pour une heure précise,
disons 18h. Admettons que mon PC soit coupé entre 12h et 18h30.

Au démarrage du PC, ne puis-je pas avoir un traitement de
l'entrée de la crontab initialement prévue à 18h ?

Je redécouvre cron depuis quelques temps et ce genre de choses me
serviraient beaucoup ;)

Merci
--
Xavier Maillard

5 réponses

Avatar
Nicolas George
Xavier Maillard wrote in message :
Au démarrage du PC, ne puis-je pas avoir un traitement de
l'entrée de la crontab initialement prévue à 18h ?


Il y a anacron qui est prévu pour faire ça. Je n'ai jamais regardé comment
il marche, mais il doit bien avoir un man.

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:,
*Xavier Maillard* tapota sur f.c.o.l.configuration :

Bonjour,

Admettons que ma crontab ait une entrée pour une heure précise,
disons 18h. Admettons que mon PC soit coupé entre 12h et 18h30.

Au démarrage du PC, ne puis-je pas avoir un traitement de
l'entrée de la crontab initialement prévue à 18h ?


Sous Gentoo et SuSE, il y a les entrées cron suivantes :

0 * * * * rm -f /var/spool/cron/lastrun/cron.hourly
1 3 * * * rm -f /var/spool/cron/lastrun/cron.daily
15 4 * * 6 rm -f /var/spool/cron/lastrun/cron.weekly
30 5 1 * * rm -f /var/spool/cron/lastrun/cron.monthly
*/10 * * * * test -x /usr/sbin/run-crons && /usr/sbin/run-crons

Le script run-crons lancé régulièrement, ici toutes les 10 minutes, en plus
de lancer les tâches cron hourly, daily, etc. aux moments voulus, vérifie
que les dernières tâches cron ont bien été exécutées. Sinon, par exemple
comme dans le cas d'un arrêt du système que vous donnez, run-crons va lancer
les tâches qui n'auraient pas été exécutées précédemment.
L'avantage de ce script, c'est qu'il est indépendant de la version de crond
(fcron, dcron, vixie-cron (beurk!), ...) qu'on utilise.

--
Sébastien Monbrun aka TiChou

Avatar
Jacques Lav!gnotte (Drop Dr NO)
Bonsoir,

Question stupide mais je ne vois pas comment la résoudre pour
autant.


man 5 crontab


Instead of the first five fields, one of eight special strings may appear:

string meaning
------ -------
@reboot Run once, at startup.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".

Au démarrage du PC, ne puis-je pas avoir un traitement de
l'entrée de la crontab initialement prévue à 18h ?


@reboot blah-blah.......


Bon, ça correspond pas tout à fait à ce que tu veux. Mais il me semble
que ce que tu demandes était le fonctionnement de cron pour les Unix
avant avant que Paul Vixie ne le ré-écrive. Ce fonctionnement avait été
jugé perturbant, car dans le cas que tu évoques, on peut imaginer qu'une
machine arrêtée longtemps se mette à exécuter toutes les taches en
retard (mois/jours etc...)

Merci



Jacques

Avatar
Xavier Maillard
On 30 jan 2006, wrote:

Bon, ça correspond pas tout à fait à ce que tu veux. Mais il me
semble que ce que tu demandes était le fonctionnement de cron
pour les Unix avant avant que Paul Vixie ne le ré-écrive. Ce
fonctionnement avait été jugé perturbant, car dans le cas que
tu évoques, on peut imaginer qu'une machine arrêtée longtemps
se mette à exécuter toutes les taches en retard (mois/jours
etc...)


Certes, c'est un des cas problématiques que je dois pouvoir gérer
aussi.

Pour le reste du post, je connais déjà.
--
Xavier Maillard

Avatar
Xavier Maillard
On 30 jan 2006, Nicolas George wrote:

Xavier Maillard wrote in message
:
Au démarrage du PC, ne puis-je pas avoir un traitement de
l'entrée de la crontab initialement prévue à 18h ?


Il y a anacron qui est prévu pour faire ça. Je n'ai jamais
regardé comment il marche, mais il doit bien avoir un man.


Ben justement ce n'est pas très clair au regard des man de
anacron et anacrontab. Sans parler de la documentation de cron
qui prétend qu'il ne faut pas confier des tâches dont on veut
l'assurance qu'elle se déclenche à des heures garanties (et
préferer crontab).
--
Xavier Maillard