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 :

Debug tache CRON


Sujet :

Shell et commandes GNU

  1. #41
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 176
    Par défaut
    Re bonjour,

    Désolé pour le délai dans la réponse, je suis passé sur autre chose.

    J'ai bien tout revérifier, et voilà le script comme il est actuellement. Il me semble qu'il correspond exactement à ce que tu m'avais inscrit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    T_Scri=/etc/cron-scri/script_stat_total/temp-scri
    T_cpc_total=$T_Scri/temp_cpc_total
    T_lprlog=$T_Scri/temp_lprog
    T_sql=$T_Scri/temp_sql
    T2_res=$T_Scri/temp2_res
    T3_res=$T_Scri/temp3_res
    rm -fr $T_cpc_total
    rm -fr $T_lprog
    while read ligne
    do lip=""
     if [ "$lprog" = "" ]
     then lprog="$ligne"
      echo "$ligne" >> $T_lprog
     else rm -fr $T_sql
      echo "
    SELECT distinct(client_IP)
    FROM Tbl_Affiliate_CPC_Transactions
    WHERE program_id IN (\"$lprog\")" >> $T_sql
      lprog="$lprog,$ligne"
      echo ",$ligne" >> $T_lprog
      rm -fr $T2_res
      mysql --user=XXX --password=XXX --database=XXX_prod < $T_sql >> $T2_res
      if test -r $T2_res
       then getIP=""
        rm -fr $T3_res
    set -x
        while read ligneIP
        do if [ "$getIP" = "" ]
          then read ligneIP
               getIP="'$ligneIP'"
          else getIP=",'$ligneIP\'"
         fi
         echo "$getIP" >> $T3_res
        done < $T2_res
    set +x
        if test -r $T3_res
         then lip="and client_IP NOT IN (\"$(cat $T3_res)\")"
        fi
      fi
     fi
     echo "
     INSERT INTO w_CPC_Tech (cpc_id, program_id, login_id, website_id, banner_id,
      client_IP, action_amount, total_payable, commission,  created_by, created_on,
      http_referer, status)
     SELECT a.cpc_id, a.program_id, a.login_id, a.website_id, a.banner_id, a.client_IP,
      a.action_amount, a.total_payable, a.commission,  a.created_by, a.created_on,
      a.http_referer, a.status
     FROM Tbl_Affiliate_CPC_Transactions a
     WHERE a.program_id=
     $ligne
     $lip
     GROUP BY client_ip;
     " >> $T_cpc_total
    done < /var/www/vhosts/XXX.com/httpdocs/XXX_global/ip_netting
    echo "
    INSERT INTO w_CPC_Tech (cpc_id, program_id, login_id, website_id, banner_id,
     client_IP, action_amount, total_payable, commission,  created_by, created_on,
     http_referer, status)
    SELECT a.cpc_id, a.program_id, a.login_id, a.website_id, a.banner_id, a.client_IP,
     a.action_amount, a.total_payable, a.commission,  a.created_by, a.created_on,
     a.http_referer, a.status
    FROM Tbl_Affiliate_CPC_Transactions a
    WHERE a.program_id NOT IN ( $(cat $T_lprog) )
    GROUP BY concat(a.program_id,a.client_IP);
    INSERT  INTO CPC_Histo (program_id, login_id, banner_id, website_id, volume, affiliate_amount, commission, advert_amount, created_by, created_on, status )
    SELECT  a.program_id, a.login_id, a.banner_id, a.website_id, count( a.cpc_id), sum(action_amount), sum(a.commission), sum(a.total_payable), a.created_by, now(), 'np'
    FROM w_CPC_Tech a GROUP BY concat(a.website_id,a.banner_id);
    delete from w_CPC_Tech;
    delete from Tbl_Affiliate_CPC_Transactions;" >> $T_cpc_total
    mysql --user=XXX --password=XXX --database=XXX_prod < $T_cpc_total
    J'ai essayé d'ajouter le set -x, et rien n'y fait, j'ai toujours exactement le même message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /etc/cron-scri/script_stat_total/launch_cpc_total: line 34: syntax error near unexpected token `done'
    'etc/cron-scri/script_stat_total/launch_cpc_total: line 34: `    done < $T2_res
    Qu'en pensez-vous ?
    ça m'énerve de bloquer, là dessus, alors que je suis sûr qu'il y a un tout petit bug qq part, que je ne vois pas...
    Merci de votre aide.

  2. #42
    Invité
    Invité(e)
    Par défaut
    J'en pense que ça devrait fonctionner.

    ...un caractère invisible ? essaye ...
    ?

  3. #43
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 176
    Par défaut
    Voilà le résultat du cat -A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    T_Scri=/etc/cron-scri/script_stat_total/temp-scri^M$
    T_cpc_total=$T_Scri/temp_cpc_total^M$
    T_lprlog=$T_Scri/temp_lprog^M$
    T_sql=$T_Scri/temp_sql^M$
    T2_res=$T_Scri/temp2_res^M$
    T3_res=$T_Scri/temp3_res^M$
    rm -fr $T_cpc_total^M$
    rm -fr $T_lprog^M$
    while read ligne^M$
    do lip=""^M$
     if [ "$lprog" = "" ]^M$
     then lprog="$ligne"^M$
      echo "$ligne" >> $T_lprog^M$
     else rm -fr $T_sql^M$
      echo "^M$
    SELECT distinct(client_IP) ^M$
    FROM Tbl_Affiliate_CPC_Transactions ^M$
    WHERE program_id IN (\"$lprog\")" >> $T_sql^M$
      lprog="$lprog,$ligne"^M$
      echo ",$ligne" >> $T_lprog^M$
      rm -fr $T2_res^M$
      mysql --user=XXX --password=XXX --database=XXX < $T_sql >> $T2_res^M$
      if test -r $T2_res^M$
       then getIP=""^M$
        rm -fr $T3_res^M$
    set -x^M$
        while read ligneIP^M$
        do if [ "$getIP" = "" ]^M$
          then read ligneIP ^M$
               getIP="'$ligneIP'"^M$
          else getIP=",'$ligneIP\'"^M$
         fi^M$
         echo "$getIP" >> $T3_res^M$
        done < $T2_res^M$
    set +x^M$
        if test -r $T3_res^M$
         then lip="and client_IP NOT IN (\"$(cat $T3_res)\")"^M$
        fi^M$
      fi^M$
     fi^M$
     echo "^M$
     INSERT INTO w_CPC_Tech (cpc_id, program_id, login_id, website_id, banner_id,^M$
      client_IP, action_amount, total_payable, commission,  created_by, created_on,^M$
      http_referer, status)^M$
     SELECT a.cpc_id, a.program_id, a.login_id, a.website_id, a.banner_id, a.client_IP,^M$
      a.action_amount, a.total_payable, a.commission,  a.created_by, a.created_on,^M$
      a.http_referer, a.status^M$
     FROM Tbl_Affiliate_CPC_Transactions a^M$
     WHERE a.program_id=^M$
     $ligne^M$
     $lip^M$
     GROUP BY client_ip;^M$
     " >> $T_cpc_total^M$
    done < /var/www/vhosts/XXX.com/httpdocs/XXX_global/ip_netting^M$
    echo "^M$
    INSERT INTO w_CPC_Tech (cpc_id, program_id, login_id, website_id, banner_id,^M$
     client_IP, action_amount, total_payable, commission,  created_by, created_on,^M$
     http_referer, status)^M$
    SELECT a.cpc_id, a.program_id, a.login_id, a.website_id, a.banner_id, a.client_IP,^M$
     a.action_amount, a.total_payable, a.commission,  a.created_by, a.created_on,^M$
     a.http_referer, a.status^M$
    FROM Tbl_Affiliate_CPC_Transactions a^M$
    WHERE a.program_id NOT IN ( $(cat $T_lprog) )^M$
    GROUP BY concat(a.program_id,a.client_IP);^M$
    INSERT  INTO CPC_Histo (program_id, login_id, banner_id, website_id, volume, affiliate_amount, commission, advert_amount, created_by, created_on, status )^M$
    SELECT  a.program_id, a.login_id, a.banner_id, a.website_id, count( a.cpc_id), sum(action_amount), sum(a.commission), sum(a.total_payable), a.created_by, now(), 'np'^M$
    FROM w_CPC_Tech a GROUP BY concat(a.website_id,a.banner_id);^M$
    delete from w_CPC_Tech;^M$
    delete from Tbl_Affiliate_CPC_Transactions;" >> $T_cpc_total^M$
    mysql --user=XXX --password=XXX --database=XXX < $T_cpc_total^M$
    Il n'y a pas l'impression d'y avoir de caractères cachés ! Zut !

  4. #44
    Invité
    Invité(e)
    Par défaut
    non hormis le ^M qui ^Montre que tu as écrit sous ^Merdosoft

    Si ce n'est pas encore le cas, installe tofrodos (sur Debian), et passe ton script par fromdos.

  5. #45
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 176
    Par défaut
    Alors oui quelques explications s'imposent !
    Je n'y connais vraiment rien de rien en SSH.
    Ces scripts sont assez anciens, et ont été rédigés pour gérer un site qui fait des stats.
    Je n'ai jamais su comment rédiger ces scripts.
    J'ai récupéré ce site en gestion, et j'ai du changer de serveur l'ensemble du site.
    On a transféré pour moi ces requêtes CRON sur le nouveau serveur, et depuis elles ne marchent plus.
    Sans doute un problème de version du serveur ou qqch comme ça... pareil je n'y comprends pas grand chose.
    Alors quand tu me parles de tofrodos et de fromdos, c'est du charabia pour moi !
    Ce qui est très bizzare, c'est que ces scripts fonctionnaient parfaitement sur l'ancien serveur il y a encore 1 semaine ! Les modifs ne doivent pas être très importantes à effectuer... mais je suis complètement perdu !
    J'apprends petit à petit, mais la seule chose que je sais à peu près faire, c'est éditer un script avec la commande vi nomduscript, puis enregistrer et quitter avec :wq ! Voilà mes limites !


    Quelqu'un pourrait-il m'aider de manière très méthodique ?
    Merci d'avance.

  6. #46
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par N_BaH
    tu as écrit
    ah, oui, c'est vrai, tu as déjà dit que tu ne l'avais pas écrit.

    ouvre le fichier avec vim, et tape :

Discussions similaires

  1. Taches crons, des sites?
    Par kevinf dans le forum Services
    Réponses: 7
    Dernier message: 04/09/2007, 09h17
  2. Tache cron cgi php...
    Par yaka2 dans le forum Web
    Réponses: 2
    Dernier message: 12/12/2005, 14h32
  3. Tache cron + fichier de sauvegarde
    Par 12_darte_12 dans le forum Administration système
    Réponses: 20
    Dernier message: 09/11/2005, 16h32
  4. [EasyPHP] Tache Cron sous CMS
    Par frechy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 17/10/2005, 14h35
  5. [Configuration] tache cron
    Par yaka2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 13/10/2005, 19h41

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