Crontable : entre 9h30 et 12h et ttes les 20 mins...

Fermé
Melissa35 - Modifié par Melissa35 le 20/05/2016 à 02:18
ryko1820 Messages postés 1677 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 20 mai 2016 à 18:11
Bonsoir,

Je n'arrive pas à planifier une commande dans ma crontable qui aurait lieu de 9h30 à 12h toutes les 20 mins (du lundi au vendredi).

C'est le 9h30+ttes les 20 mins qui me gene. J'avais pensé à ceci mais ca ne fonctionne pas:

30/20 9-12 * * 1-5 vmstat

que dois je mettre selon vous à la place de 30/20 ?

Merci d'avance

2 réponses

UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 157
Modifié par UnGnU le 20/05/2016 à 12:22
Salut,

Perso sur une Debian Jessie, ta syntaxe me donne une erreur à la création de la crontab ;-(

$ crontab -e
crontab: installing new crontab
"/tmp/crontab.IhPDo6/crontab":22: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) y


J'ai testé (avec succès) cette syntaxe :

30,50,10 9-11 * * 1-5 /usr/bin/vmstat >> ~/vmstat.crontab.log 2>&1


Un manchot sur la banquise.
1
ryko1820 Messages postés 1677 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 20/05/2016 à 18:15
Hello,

j'ai testé chez moi la commande originale de Melissa35 et si c'est accepté d'un point de vue syntaxique ça n'a pas le résultat escompté. Ça attends 20mn après le 30 de chaque heure pour se lancer ... du coup ça ne tourne qu'une fois par heure.

Ta syntaxe est la bonne,.. en plus 20mn ça tombe juste par rapport à 1 heure pour offrir une rotation à intervalle régulier.
0
ryko1820 Messages postés 1677 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 20/05/2016 à 09:18
Hello,

La syntaxe de la commande parait correcte, mais avec crontab l'environnement récupéré n'est pas forcément le même que celui de l'utilisateur qui la lance en mode interactif. Il est d'usage de mettre le chemin complet vers l’exécutable ou le script lancé pour lever toute ambiguïté.

which vmstat
pour être certain du chemin vers un exécutable (certaines distributions diffèrent dans le chemin attribué à certains exécutable)

dmesg peut récupérer un problème de lancement.
Loguer la commande permets aussi de diagnostiquer les problèmes :

30/20 9-12 * * 1-5 /usr/bin/vmstat >> ~/vmstat.crontab.log 2>&1

Certains services lançant crontab n'acceptent pas la même syntaxe que d'autres. Personnellement j'utilise dcron qui nécessite de relancer le service pour être sûr que les modifications sont bien prises en compte ...

You may stop me but you can't stop us all   ;-)
0