Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: script eseguibile

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661

    script eseguibile

    ciao vorrei chiedervi se è fattibile questa cosa..
    devo creare uno script eseguibile che vada a leggermi i valori da due pagine html (i valori nella pagina cambiano continuamente), sommarli e se il valore complessivo supera una certa soglia inviare una mail. Non so da dove iniziare.. qualcuno mi aiuta?
    JayMare

  2. #2
    Utente di HTML.it L'avatar di Fatur
    Registrato dal
    Nov 2002
    Messaggi
    69
    codice:
    #!/bin/sh
    soglia=23432432
    while [ true ]
    do
      sleep 60 
      var1=`awk "quel che è per estrarre i dati"`
      var2=`awk "quel che è per estrarre i dati"`
      var3=$[$var1 + $var2]
      if [ $var3 -gt $soglia ]
      then
          mail -s "parapapa" indirizzo@domain.it
      fi
    done
    F-(A)-tur Gentoo, e la vita ti sorride!
    Far finta di essere sani...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    GRAZIE! ,sapresti aiutarmi anche per tradurlo in perl?
    JayMare

  4. #4
    Utente di HTML.it L'avatar di Fatur
    Registrato dal
    Nov 2002
    Messaggi
    69
    codice:
    #!/usr/bin/perl
    $soglia=23432432;
    while (1)
    {
      sleep( 60 );
    
      $var1=(tiriamo fuori il valore);
      $var2=(tiriamo fuori il valore);
      $var3=$var1 + $var2;
      if ( $var3 >= $soglia )  
         system(" mail -s \"parapapa\" indirizzo@domain.it");
    }
    exit(0);
    per le var dovrei sapere come sono i file... o cmq va bene anche awk come prima...
    F-(A)-tur Gentoo, e la vita ti sorride!
    Far finta di essere sani...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    grazie ancora! beh i file sono pagine html che vengono create dinamicamente ogni 5 min e che esprimono un valore in termini di kb/s.. io dovrei sommare due valori per trovare il consumo di banda totale. Quello che devo prendere ad esempio è <TD ALIGN=left><SMALL>484.1 kb/s (23.1%) e sommarlo con un valore preso da un'altra pagina sempre .html
    JayMare

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    ma come faccio a fare in modo che venga preso esattamente quel valore (che è variabile) ???
    JayMare

  7. #7
    Utente di HTML.it L'avatar di Fatur
    Registrato dal
    Nov 2002
    Messaggi
    69
    Originariamente inviato da Jaymare
    grazie ancora! beh i file sono pagine html che vengono create dinamicamente ogni 5 min e che esprimono un valore in termini di kb/s.. io dovrei sommare due valori per trovare il consumo di banda totale. Quello che devo prendere ad esempio è <TD ALIGN=left><SMALL>484.1 kb/s (23.1%) e sommarlo con un valore preso da un'altra pagina sempre .html
    codice:
    open(CICCIO,"<ciccio.html");
    while(<CICCIO>){
       $value="$1"  if /<TD ALIGN=left><SMALL>([0-9.]*) kb\/s/ ;
    }
    close(CICCIO);
    
    echo $value;
    forse manca qualche backslash...
    F-(A)-tur Gentoo, e la vita ti sorride!
    Far finta di essere sani...

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    #!/usr/bin/perl
    $soglia=34567;
    $file='/var/prova.html';
    open(in, "<$file") or die "Non è possibile aprire il file";
    while(<in> ){
    $value="$1" if /<([0-9.]*)>/; #il valore da recuperare è del tipo: < 345.4 >
    }
    close(in);
    if ($value>$soglia){
    print="valore oltre la soglia\n"
    } else {
    print="valore sotto la soglia\n"
    }

    errore:
    Can't modify print in scalar assignment at /root/JQ.pl line 11, near "}"
    Execution of /root/JQ.pl aborted due to compilation errors.
    JayMare

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    So che le espressioni regolari tra () memorizzano il valore nella variabile $1 (come mi hai mostrato nell'esempio) ma se ce ne sono altre si possono salvare nella variabile $2 $3.. in modo da poter memorizzare più valori in più variabili in un sol colpo. Basta semplicemente..
    ..
    $value="$1" if /<in([0-9.]*)>/;
    $value="$2" if /<out([0-9.]*)>/;
    .. per esempio?

    forse non mi sono spiegato un gran che bene
    JayMare

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    661
    ..
    $value="$1" if /<in([0-9.]*)>/;
    $value="$2" if /<out([0-9.]*)>/;
    ..
    scusa intendevo dire
    $value="$1" if /<in([0-9.]*)>/;
    $value2="$2" if /<out([0-9.]*)>/;
    JayMare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.