258 votes

Quand est-ce que `cron.daily` est lancé ?

Quand les entrées dans cron.daily (et .weekly y .hourly ) fonctionne, et est-il configurable ?

Je n'ai pas trouvé de réponse définitive à cette question, et j'espère qu'il y en a une.

J'utilise RHEL5 et CentOS 4, mais pour d'autres distributions/plateformes, ce serait bien aussi.

2 votes

Sur NetBSD les horaires des cronjobs quotidiens, hebdomadaires et mensuels sont définis dans la crontab de root.

0 votes

Cette question serait plus utile si la question était modifiée pour être plus générique. Au minimum, rendez la question générique pour toutes les versions de redhat, centos distros au lieu de seulement pour les versions 4 et 5 (qui ne sont pas largement utilisées et sont " fin de la production "(similaire à fin de vie ).

1 votes

@TrevorBoydSmith - cette question a été posée il y a près de 8 ans. N'hésitez pas à en poser une mise à jour pour les versions plus récentes. Mais RHEL 6 n'existait même pas en avril 2010 : access.redhat.com/articles/3078#RHEL6

196voto

illracer Points 1221

Pour les distributions que vous mentionnez :

Sur CentOS 5.4 (devrait être le même pour RHEL5)

grep run-parts /etc/crontab

01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Donc cron.daily s'exécute à 04:02am.

Idem sur CentOS 4.8

2 votes

Y a-t-il une raison à cela ? Je ne peux que supposer que c'est le moment le plus calme sur le serveur.

0 votes

À quel moment il fonctionne sous ubuntu ? pouvez-vous me dire comment je peux le vérifier ? je ne suis pas capable de comprendre la sortie de la commande.

1 votes

@NarendraJaggi la commande "run-parts" signifie "exécuter tout dans ce dossier". Les dossiers cron.daily, etc. fonctionnent parce qu'il y a une tâche cron pour exécuter les run-parts sur ces répertoires. Donc grep run-parts /etc/crontab trouve juste les instructions sur quand run-parts est appelé pour chacun de ces répertoires.

95voto

leonbloy Points 1958

De la page de manuel :

 Cron also searches for /etc/anacrontab

/etc/anacrontab dans mon système (Fedora 12) :

1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

Voir aussi man anacrontab

9 votes

C'est le cas de CentOS 6 . Merci.

4 votes

Ça veut dire 5h du matin tous les "1" jours ?. Désolé, mais ça ne répond à rien.

3 votes

@elysch Permettez-moi de répéter la dernière ligne de ma réponse : Voir aussi "man anacrontab"

53voto

Spechal Points 731

Pour CentOS 6, vous devez grep /etc/anacrontab et la réponse varie si le serveur/laptop/dekstop/etc a été désactivé ou non.

cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly

Ainsi, entre 3h et 22h** (après le redémarrage et après que la machine ait fonctionné pendant 5 minutes^^), exécutez /etc/cron.daily. S'il n'y a pas de redémarrage, la tâche devrait être exécutée à 3h05 du matin++.

** As defined by START_HOURS_RANGE
^^ As defined by FIELD_TWO (i.e. the 5 after the 1 in the cron.daily line)
++ plus a random time between 0 and 45 minutes as defined by RANDOM_DELAY

Référence : http://linux.die.net/man/5/anacrontab

18voto

darklion Points 386

Pour les systèmes SuSE (spécifiquement SLES 11.1 et openSuSE 10.3), le temps d'exécution quotidien des scripts du fichier /etc/cron.daily est contrôlé par la valeur de l'attribut DAILY_TIME définie dans le /etc/sysconfig/cron fichier.

Si la variable DAILY_TIME n'est pas définie, elle prend par défaut la valeur suivante : (heure du dernier démarrage + 15 minutes).

0 votes

Merci beaucoup ! SuSE est plutôt opaque pour moi et j'apprécie votre réponse.

0 votes

Même chose avec OpenSUSE - et la valeur par défaut est "", c'est-à-dire un quart après le dernier démarrage. Cette approche est adaptée aux ordinateurs de bureau, qui ont tendance à être éteints lorsqu'ils ne sont pas nécessaires.

14voto

Sven Points 95985

Sur Ubuntu, vous trouverez un fichier /etc/crontab, à partir duquel cela est configuré. Je suppose que c'est quelque chose de similaire sur RH et Centos.

3 votes

C'est le bon fichier pour Ubuntu Lucid 10.04 LTS. Mon paramètre par défaut est 6:25am pour cron.daily.

0 votes

Toujours réglé à 6h25 du matin sur Ubuntu 15.04. Mais je remarque que cron doit insérer une part d'aléatoire dans l'heure à laquelle il lance les travaux. En regardant les horodatages des fichiers que mon travail quotidien crée, je vois que certains jours il s'exécute dès 6h26, et d'autres jours jusqu'à 8h04.

1 votes

Toujours réglé à 6h25 sur Ubuntu 16.04 - Horaire à 17 minutes après l'heure. Quotidiennement à 6 h 25. Hebdomadaire à 6 h 47 le samedi. Mensuel à 6h52 le premier jour du mois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X