IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Cron job de 23h à 1h du matin


Sujet :

Shell et commandes GNU

  1. #1
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut Cron job de 23h à 1h du matin
    Bonjour

    Existe-t-il une syntaxe en une ligne de cronjob qui permette d'exécuter une tâche le mercredi et le dimanche de 23h à 1h du matin toutes les demi-heures ? Si oui, laquelle ?

    Si le serveur est lancé dans cette période, admettons 23h12, s'exécute-t-il à 23h12 23h42 0h12 0h42 ou alors 23h30 0h00 0h30 ?

    Merci de votre attention.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par Flodelarab Voir le message
    Existe-t-il une syntaxe en une ligne de cronjob qui permette d'exécuter une tâche le mercredi et le dimanche de 23h à 1h du matin toutes les demi-heures ? Si oui, laquelle ?
    je dirais un truc dans ce style : */30 23,0,1 * * 6,7 (cf ici)

    Si le serveur est lancé dans cette période, admettons 23h12, s'exécute-t-il à 23h12 23h42 0h12 0h42 ou alors 23h30 0h00 0h30 ?
    pour le premier paramètre, on peut préciser explicitement 12/30 par exemple, on aura bien une exécution à 0:12, puis 0:42 etc.
    en revanche avec un wildcard */30 c'est une bonne question, souvent elle est tombée jamais je m'en souviens

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    pour le premier paramètre, on peut préciser explicitement 12/30 par exemple, on aura bien une exécution à 0:12, puis 0:42 etc.
    Quand je lui demande "0/30", il me renvoie cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "/tmp/crontab.AvFsj5/crontab":26: bad minute
    errors in crontab file, can't install.
    Do you want to retry the same edit? (y/n)
    Pareil pour 1 ou 12.
    Il ne bronche pas si j'écris "*/30". (réussite sans erreur)


    C'est bien ce que je craignais, il faut 2 lignes.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    C'est bien ce que je craignais, il faut 2 lignes.
    c'est possible ouai, de ce que j'ai cru comprendre ça dépendrait aussi des version de cron selon l'OS, genre Debian qui intègre des améliorations par exemple, et y compris certaines versions qui comprennent une syntaxe du genre */30+12, étrange...

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bravo !

    Debian comprend. Par contre, vim pas du tout. Toute la coloration de la ligne disparaît après "+".

    [edit]Ah ben non. La tache est envoyé à 0 et à 12. [/edit]
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    En fait, wikipedia est assez clair:
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    En fait, wikipedia est assez clair:
    eh ouai, mais si t'as un /5 au lieu de /30 par exemple tout ce qui est dans l'intervalle 0-12 passe à la trappe, c'est pas beaucoup plus satisfaisant au final

    la seule solution que je vois c'est lors de l'exécution du script de gérer un fichier contenant l'offset/la date de dernière exécution, c'est déléguer à l'appli la bonne heure d'exécution, mais au moins on est sûr du résultat, derrière tu peux mettre un * pour lancer le script toute les minutes sans que ça gêne

  8. #8
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Pas sûr que /5 soit un problème. Il y a problème si la période n'est pas un facteur de 60 (minutes).
    Exemple: 0-59/7
    La dernière exécution d'une heure est à 56mn et la suivante à l'heure pile, soit 4 minutes après et non 7.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 286
    Points : 12 742
    Points
    12 742
    Par défaut
    Hello,

    De ce que je comprends, tu veux un cron qui commence le mercredi et le dimanche qui commence à 23 heure et qui lance une commande toute les 30 minutes jusqu'au lendemain à 1h00 (non compris) du matin ?

    Or la solution proposée lance aussi le job le lundi et le jeudi à 23h00 (et 30 minutes après).

    mais tu peux peut-être le faire comme ça (pour une seul ligne) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */30 0,23 * * 3,4,0,1 [ $(date "+%w%H") -ne 123 -a $(date "+%w%H") -ne 423 ] && TA_COMMANDE
    Cordialement.

  10. #10
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonne idée !

    Mais il faut enlever 23 le 1 et le 4, ET 0 le 0 et le 3.

    Ça rejoint l'idée de BufferBob de contrôler le temps soi-même.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  11. #11
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 286
    Points : 12 742
    Points
    12 742
    Par défaut
    C'est vrai, on peut rester quand même dans ton cas précis à 2 tests:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    */30 0,23 * * 3,4,0,1 [ $(date "+%w" --date="-1 hour") -eq 0 -o $(date "+%w" --date="-1 hour" ) -eq 3 ] && TA_COMMANDE
    Pour le dimanche qui est le jour 0:
    si on fait -1 heure on a 0 pour 23h00 et 6 pour 00h00
    Pour le lundi qui est le jour 1:
    si on fait -1 heure on a 0 pour 00h00 et 1 pour 23h00
    Pour le mercredi qui est le jour 3:
    si on fait -1 heure on a 3 pour 23h00 et 2 pour 00h00
    Pour le jeudi qui est le jour 4:
    si on fait -1 heure on a 3 pour 00h00 et 4 pour 23h00
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de cron job
    Par FabaCoeur dans le forum Linux
    Réponses: 3
    Dernier message: 31/12/2009, 15h47
  2. Réponses: 4
    Dernier message: 21/08/2009, 19h42
  3. [Quartz] Cron Job qui tourne en boucle
    Par K-Kaï dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 07/02/2008, 11h19
  4. Cron job sur un Pack perso confort 1&1 ?
    Par yazerty dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 25/09/2007, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo