[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: aMule, amuled, amuleweb, amuleetc



Es muy chapuza pero ahi va; el principal es este que lo ejecuto con "at"

*********************************************************************************

#!/bin/bash
echo Bloqueando Terminal

if [ ! -e /home/roberto/.comovaamule ]
then
        touch /home/roberto/.comovaamule
fi
while(test -e /home/roberto/.comovaamule)
do
        echo Comprobando estadisticas...
        ps aux | grep amule | grep -v "grep" > /home/roberto/.esta_amule
        if [ -s /home/roberto/.esta_amule ]
        then
                echo Amule sigue correctamente
        else
                #amuled &
                sleep 10
        fi
        rm /home/roberto/.esta_amule
        /home/roberto/.amule_stat > /home/roberto/.comovaamule2
        diff /home/roberto/.comovaamuleweb /home/roberto/.comovaamule2
> /home/roberto/.difamule
        if [ -s /home/roberto/.difamule ]
        then
                echo Estadisticas enviandose al correo...
                echo "<HTML><BODY><B>" >/home/roberto/.comovaamuleweb
                echo Estadisticas creadas el `date +"%A. %d de %B de
%G a las %R"` >>/home/roberto/.comovaamuleweb
                echo "</B><br>" >>/home/roberto/.comovaamuleweb
                cat /home/roberto/.refresco >> /home/roberto/.comovaamuleweb
                echo "<PRE>" >> /home/roberto/.comovaamuleweb
                /home/roberto/.amule_var | grep ">" >>
/home/roberto/.comovaamuleweb
                echo "</PRE><br>" >> /home/roberto/.comovaamuleweb
                cd /home/roberto
                java filtro .comovaamule2 >> /home/roberto/.comovaamuleweb
                echo
"</B>***********************************************************************************<br>"
>>/home/roberto/.comovaamuleweb
                echo      "***************************<b> DESCARGAS
COMPLETAS </b>******************************<br>"
>>/home/roberto/.comovaamuleweb
                echo
"***********************************************************************************<br>"
>> /home/roberto/.comovaamuleweb
                echo "<pre>" >> /home/roberto/.comovaamuleweb
                ls -lh /home/roberto/eMule/ |cut -d ' ' -f 6,9- >>
/home/roberto/.comovaamuleweb
                echo "</pre></body></html>">>/home/roberto/.comovaamuleweb
                #mail -s "Estadisticas del aMule el `date`"
munoz.roberto@gmail.com < /home/roberto/.comovaamule2
                mv -f /home/roberto/.comovaamule2 /home/roberto/.comovaamule
        echo Enviadas
        fi
        sleep 300
done

***********************************************************************************************************
.amule_stat
*****
amulecmd -p <puerto> -P <password> -c "show DL"


***********************************************************************************************************
.amule_var
******
amulecmd -p <puerto> -P <pass> -c "stats"
amulecmd -p <puerto> -P <pass> -c "getbwlimits"

************************************************************************************************************
filtro.java
******
import java.util.regex.Pattern;
import java.io.*;
import java.util.*;
public class filtro {


    public filtro() {
    }


    public static void main(String[] args) {
        String espacio="([ \u0009]*)";
        String codigo="((\\p{Alnum}){32})";
        String mayor="(\u003E)";
        String nombre="([^\u0009]+)";
        String nombre2="([^\u0009]*)";
        String porcentaje="(\u005B(([0-9]+)\u002E([0-9]+)\u0025\u005D)";
        String fuentes="([0-9]+[\u0000-\u00FF][0-9]+)";
        String guion="(\u002D)";
        String cosas="([[\u0000-\u00FF]]+)";

        String estado="([\\p{Print}|espacio]*)";
        String patron=(espacio+mayor+espacio+codigo+espacio+nombre+espacio+porcentaje+espacio+fuentes+espacio
        +guion+espacio+estado);
        String prueba=espacio+mayor+espacio+codigo+espacio+nombre+espacio+porcentaje+espacio+nombre2+espacio+porcentaje;
        int l=1;
        BufferedReader fichero=null;

        try{

            fichero=new BufferedReader(new FileReader(args[0]));
        }catch(Exception e){
            System.out.println("Error al abrir el fichero
"+(args[0]==null?"NULL":args[0]));
            System.exit(-1);
        }
        String linea="";
        try{
                linea=fichero.readLine();
        }catch(IOException e){}
        System.out.println("<p><p><B>");
        while(linea!=null){
            if(linea.matches(prueba+cosas)){


                String
sub[]=Pattern.compile(espacio+mayor+espacio+codigo+espacio).split(linea,2);

                sub=Pattern.compile("\t").split(sub[1],2);
                for(int i=0;i<sub.length;i++){


                        if(i%2==0){
                                if(sub[i+1].indexOf("Waiting")>=0){
                                        break;
                                }
                        }
                        System.out.print(sub[i]);
                        System.out.println();
                        if(i%2==0)System.out.print("<br></B>\t");
                        else System.out.println("<p><B><br>");


                }
            }
            l++;
            try{

                linea=fichero.readLine();
            }catch(IOException e){
                System.out.println("Error al leer de fichero");
                break;
            }
        }


    }

}

********************************************************************************************

Ya se que es muy cutre y que se podria optimizar mucho mas, pero lo
hice en 5 minutos y funciono...y ya sabes el dicho, si funciona no lo
toques. Use java porque awk no lo conozco muy bien.

Saludos y espero te sirva

--
***************************************************
Roberto Muñoz Gómez	   NIA: 100039318
Ingeniería Informática
Universidad Carlos III de Madrid (España)
***************************************************
Linux User Number 398793



Reply to: