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: