Re: aMule, amuled, amuleweb, amuleetc
Muchas gracias Roberto.
Voy a ver de ponerlo a andar y que suerte que está hecho en Java, ya que
estoy estudiando ese lenguaje y de hecho, mañana rindo un parcial de
Java en la facu. Si me va bien, veo de mejorarlo ;)
¡Saludos!
Roberto Muñoz wrote:
> 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: