/etc/crontab exécute une commande crontab mauvaise heure

Bonjour à tous,

Je suis face à un problème assez étrange et pour lequel j’ai besoin d’assistance.

J’ai mon utilisateur root qui possède une crontab que j’ai édité en utilisant la commande :

Voici la crontab correspondante :

# m h dom mon dow command 00 * * * * . ~/.keychain/domUd4-sh;bash /home/mysql_dump/dumpORflush.sh >> /home/mysql_dump/dumpORflush.log 2>&1 00 01 * * * /home/mysql_dump/cleandumps.sh >> /home/mysql_dump/cleandumps.log 2>&1

Tout se passe bien et chaque heure j’ai un un dump mysql sauf après 6H00 du matin, j’ai un dump qui se lance à 6H25 et celui de 7H00 est sauté. Puis tout repart bien après 8H00.

En fouillant un peu j’ai trouvé que le fichier /etc/crontab exécute de façon journalière les scripts du répertoire /etc/cron.daily à 6H25 :

[code]# /etc/crontab: system-wide crontab

Unlike any other crontab you don’t have to run the `crontab’

command to install the new version when you edit this file

and files in /etc/cron.d. These files also have username fields,

that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

m h dom mon dow user command

17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#[/code]

Cela serait-il lié ?

Merci pour vos réponses

Bonjour,
installe anacron, ça devrait contourner ton problème (mais pas résoudre la cause).

Bonjour,
Merci de ta réponse, je vais dans un premier temps donc faire ceci mais si quelqu’un a une idée du pourquoi du comment je suis tout de même preneur :doh:

Avec anacron d’installé j’obtiens ceci :

Mar 20 07:00:01 domUd4 /USR/SBIN/CRON[14341]: (root) CMD (. ~/.keychain/domUd4-sh;bash /home/mysql_dump/dumpORflush.sh >> /home/mysql_dump/dumpORflush.log 2>&1)
Mar 20 07:17:01 domUd4 /USR/SBIN/CRON[16263]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 20 07:30:01 domUd4 /USR/SBIN/CRON[18497]: (root) CMD (test -x /etc/init.d/anacron && /usr/sbin/invoke-rc.d anacron start >/dev/null)
Mar 20 07:30:02 domUd4 anacron[18528]: Anacron 2.3 started on 2014-03-20
Mar 20 07:30:03 domUd4 anacron[18528]: Will run job `cron.daily' in 5 min.
Mar 20 07:30:03 domUd4 anacron[18528]: Jobs will be executed sequentially
Mar 20 07:35:02 domUd4 anacron[18528]: Job `cron.daily' started
Mar 20 07:35:02 domUd4 anacron[19520]: Updated timestamp for job `cron.daily' to 2014-03-20
Mar 20 07:35:07 domUd4 anacron[18528]: Job `cron.daily' terminated
Mar 20 07:35:07 domUd4 anacron[18528]: Normal exit (1 job run)
Mar 20 08:00:01 domUd4 /USR/SBIN/CRON[24670]: (root) CMD (. ~/.keychain/domUd4-sh;bash /home/mysql_dump/dumpORflush.sh >> /home/mysql_dump/dumpORflush.log 2>&1)

On voit bien qu’à 7H il lance le script qu’il est sensé lancer toutes les heures, a 7H30 anacron dit qu’il va exécuter le daily dans 5 minutes et paf à 7H35 la commande de ma crontab root est prise en compte :

-rw-rw---- 1 mysql mysql   1948282 Mar 20 06:00 mysqld-bin.002594
-rw-rw---- 1 mysql mysql  15274525 Mar 20 07:35 mysqld-bin.002595
-rw-rw---- 1 mysql mysql   7629037 Mar 20 08:00 mysqld-bin.002596

Pourquoi ma crontab root est exécutée à chaque fois que le cron.daily est exécuté :013

C’est à n’y rien comprendre, je copie colle le contenu de mon dossier /etc/cron/daily:

-rw-r--r--  1 root root   102 Jul  3  2012 .placeholder
-rwxr-xr-x  1 root root   311 May 22  2012 0anacron
-rwxr-xr-x  1 root root   633 Feb  1 22:27 apache2
-rwxr-xr-x  1 root root 14985 Jun  4  2013 apt
-rwxr-xr-x  1 root root   314 Nov  7  2012 aptitude
-rwxr-xr-x  1 root root   355 Jun 11  2012 bsdmainutils
-rwxr-xr-x  1 root root   256 Oct  1 00:04 dpkg
-rwxr-xr-x  1 root root  4125 Jan  2  2013 exim4-base
-rwxr-xr-x  1 root root    89 May 17  2012 logrotate
-rwxr-xr-x  1 root root  1365 Jun 19  2012 man-db
-rwxr-xr-x  1 root root   249 May 25  2012 passwd

Merci pour toute future aide

Le role d’anacron est de lancer toutes les commandes que cron aurait loupé parceque la machine est éteinte par exemple.
Tu n’aurais pas un probléme de config de l’heure sur ton PC ?
La plus simple est d’avoir l’heure BIOS en GMT et de configurer le fuseau horaire dans debian.
Mais ça ne marche pas en double boot avec windows car celui ci va écrire l’heure locale dans le BIOS.

hwclock --debug hwclock from util-linux 2.20.1 hwclock: Open of /dev/rtc failed: No such file or directory No usable clock interface found. hwclock: Cannot access the Hardware Clock via any known method.

Le serveur sur lequel je travaille est un serveur virtualisé, du coup c’est peut être la cause du problème ?

Je viens de faire une petite mise à jour ntpdate au cas où, y avait quelques secondes de décalage mais pas grand chose.

ntpdate fr.pool.ntp.org 20 Mar 14:22:58 ntpdate[28643]: step time server 5.39.75.216 offset -149.942290 sec

Est ce que la commande date te retourne quelque chose de correct ?
quel logiciel de virtualisation utilisé ?

Oui date me retourne quelque chose de correct. J’utilise xen pour virtualiser.

Aujourd’hui avec une mise à jour de l’heure depuis ntpdate, rien de nouveau toujours le même problème :12