Retourner aux forums || Retourner au forum

Programmation.shell : Format crontab

Posté par Uld (page perso, ) le 24 septembre 2008
0
Bonjour,

je cherche a effectuer une tâche toutes les 6heures, très exactement à minuit, 6h, 12h et 18h.

Pour celà j'utilise la ligne de crontab suivante:

#Relancement du serveur toutes les 6 heures
0 0-23/6 * * * sh /home/login/cron/run_serveur_meteo.sh & >/dev/null 2>&1

Première question que je poserai:

1. Le format de ma commande est il bien correct?

L'autre point que j'aimerai aborder: vous l'aurez compris en lisant le nom du script, je lance là un serveur météo.

2. Si je lance le script run_serveur_meteo.sh depuis le prompt, le serveur tourne et ne me rend pas la main, normal. L'esperluette (&) est elle donc utile voir indispensable sur ma ligne crontab???


D'avance merci

Uld

--
Ubuntu is an ancient african word meaning : "I can't configure Debian".
> Lire le message (7 commentaires, moyenne: 1,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Oui

Posté par peck (page perso, ) le 24/09/2008 à 09:03. (lien). Évalué à 2.

1. oui mais
J'aurais plutôt mis */6

2. oui mais
Elle se met après les redirections

autre question

Posté par Uld (page perso, ) le 24/09/2008 à 09:11. (lien). Évalué à 1.

Si je place 0 */6 * * * comment être sur que ce sera lancé à 0,6,12,18heures et non pas à 1,6,13,19heures??

En gros quel est le point de référence de départ pour cron quand on lui dit "tu bosse toutes les 6 heures" ??

--
Ubuntu is an ancient african word meaning : "I can't configure Debian".
  • [^]Re: autre question

    Posté par yannig (page perso, ) le 24/09/2008 à 09:31. (lien). Évalué à 0.

    C'est le premier chiffre de ta cron. Donc dans 0 */6 * * *, tu vas lancer ton job à 0 minutes.

    Bonne journée !

    • [^]Re: autre question

      Posté par Uld (page perso, ) le 24/09/2008 à 10:33. (lien). Évalué à 1.

      [quote] C'est le premier chiffre de ta cron. Donc dans 0 */6 * * *, tu vas lancer ton job à 0 minutes.[/quote]

      Oui mais à la 0ième minutes que quelle heure?? toutes les 6 heures c'est certain, mais quelle est l'heure de référence? Minuit, 1h du mat'? 2h du mat'?? A partir de quand boucle t'il toutes les 6 heures?

      J'ai besoin d'une synchro toutes les 6 heures à 0,6,12,18h, pas à 1,7,13,19h et encore moins à 2,8,14,20h... comment s'en assurer?

      --
      Ubuntu is an ancient african word meaning : "I can't configure Debian".
      • [^]Re: autre question

        Posté par wismerhill (page perso, ) le 24/09/2008 à 23:15. (lien). Évalué à 3.

        Ce sont les chiffres du champ en question qui comptent.
        Donc un 0-23/6 (qui est équivalent à */6 pour les heures) se lancera à 0 6 12 et 18, tandis qu'un 1-23/6 se lancera à 1 7 13 et 19 et un 5-16/6 se lance à 5 et 11.

        C'est intéressant par exemple si tu veux lancer plusieurs scripts toutes les cinq minutes mais que tu ne veux pas qu'ils se lancent en même temps, il suffira de mettre pour les minutes des 0-59/5 (0,5,10,...) 1-59/5 (1,6,11,...) 2-59/5 (2,7,12,...) ...

  • [^]Re: autre question

    Posté par Julien () le 24/09/2008 à 10:27. (lien). Évalué à 2.

    D'après man 5 crontab :
    "A field may be an asterisk (*), which always stands for ‘‘first-last’’."

    "
    field allowed values
    ----- --------------
    hour 0-23
    "

    Donc */6 corresponds à la même chose que 0-23/6.

Pas de '&' dans ton cas

Posté par Kerro () le 24/09/2008 à 21:10. (lien). Évalué à 3.

Le contenu de ton crontab n'est pas exécuté en avant plan. Donc le '&' ne sert pas. Voire même il pose problème, je n'ai pas testé.

Revenir en haut de page || Retourner aux forums || Retourner au forum