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 :

cronjob d'octobre a janvier


Sujet :

Shell et commandes GNU

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut cronjob d'octobre a janvier
    je dois creer un Cron Job qui exécute mon script toutes les minutes seulement durant les mois d'octobre a janvier
    voici ce que j'ai fais merci de me corriger svp
    La commande que j’ai faite est */1**10-1* ~/exam.sh

    exam.sh est le script de jack

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    Merci beaucoup si je reprends voici mon problème voici
    le cron job
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    */1 * * oct,nov,dec,jan * /~exam.sh applique au fichier 
    exam.sh que voici
     
    #!/bin/bash
    cartes=( rtx3060 rtx3070 rtx3080 rx6700 )
    for carte in $cartes 
    do
        # Traitement pour extraire le nombre de cartes
        nb_cg=$(curl "http://0.0.0.0:5000/$carte") 
        echo "$carte:$nb_cg" >> data.txt
    done
    le problème est que ca n'affiche rien dans le fichier texte je ne vois pas ou est l'erreur

    i need help may day may day

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Lorsqu'on travaille avec cron, il faut les chemins complets. Dans quel dossier est-il censé mettre data.txt ? exam.sh est-il vraiment à la racine du système ? Mets les chemins complets, pour commencer.

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    rien y fait j'ai modifie le chemin je pense que le problème vient du cronjob
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!/bin/bash
    cartes=( rtx3060 rtx3070 rtx3080 rx6700 )
    for carte in $cartes 
    do
        # Traitement pour extraire le nombre de cartes
        nb_cg=$(curl "http://0.0.0.0:5000/$carte") 
        echo "$carte:$nb_cg" >> ~/Dossier_exam/data.txt
    done
    le cron job devrais afficher toute les minutes le nombre de carte dans le fichier data
    le voici
    */1 * * oct,nov,dec,jan * Dossier_exam/~exam.sh
    j'ai modifie le dossier et rien ne s'affiche j'ai attendu 1 mn

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Le chemin est toujours relatif. ~ dépend du contexte; il veut dire /home/s2a07 quand tu es connecté. /home/robert quand Robert est connecté. /root quand l'administrateur est connecté. Etc.

    Si tu veux un fichier /home/s2a07/data.txt, il faut l'écrire comme ça.

    Si cela ne marche toujours pas, écris dans un fichier sans script. Ça doit marcher.

  7. #7
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    merci beaucoup ca a fonctionne mais voila ce que j'ai reçu comme reponse

    Suite à la correction de votre examen, je ne vois pas toujours pas que le script est exécuté automatiquement... En effet les résultats affichés dans le fichier data.txt montrent clairement que le script a été lancé à la main et non automatiquement à l'aide de crontab.

    que dois je faire je suis debutant en scrpting

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    je suis curieux de savoir ce qu'il y a dans ce fichier (data.txt) qui indique le mode d'exécution.

    comme je lai déjà dit : sans les données, il est difficile de faire un diagnostic.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    La discussion a été coupée en deux. Mais l'autre morceau parlait clairement de la commande date qui est manifestement passée à la trappe. Quand un fichier de traces a 60 lignes horodatées minute par minute, on se doute bien que ce n'est pas un être humain qui a agit "à la main".

  10. #10
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    le script peut être lancé à la main, et logguer ses actions toutes les minutes.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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