aMule: novedades, información, dudas...

Para hablar y pedir ayuda sobre Hardware, Software y tal pascual, además de tutoriales para hacer tus copias privadas o configurar eMule.
Avatar de Usuario
samillankis
Mensajes: 2096
Registrado: Vie 15 Jul, 2005 02:00

Mensaje por samillankis » Vie 29 Feb, 2008 21:48

Compartir_es_amar escribió:samillankis: Para controlar el tema optaría más bien por usar el cron preguntando regularmente por la tarea del amule y en caso de no existir entonces ejecutarlo (se puede lanzar amuled -f para dejarlo en modo demonio)
¿Qué ventajas tiene el cron respecto al método que comento?
Si vale la pena lo probaré pero si no, me quedo con el comando, el cual funciona bien.
Morrissey21 escribió:Edito. Ahora que veo el post de jjgomera. He probado el script del mulerunner, pero no me funcionaba. Ni siquiera servía para iniciar aMule (CVS, que conste).
Hace unas semanas también lo probé y tampoco me funcionó. Seguí investigando y encontré lo que comento unos posts más arriba y hasta ahora me ha ido bien. Ha entrado en acción un par de veces por semana de media y sin ningún problema.

Avatar de Usuario
Compartir_es_amar
Mensajes: 645
Registrado: Jue 13 May, 2004 02:00

Mensaje por Compartir_es_amar » Sab 01 Mar, 2008 12:40

Acabo de echar un vistazo al script citado por jjgomera y como mínimo falla estrepitosamente por esto:

Código: Seleccionar todo

#settings file (used to find which port mule uses)
muleconfig=~/.eMule
Hace ya varias versiones que la configuración del aMule se almacena en el directorio ~/.aMule, con lo cual todas las referencias a la variable $muleconfig van a fallar.

Según informan en este hilo de la página de aMule tampoco hay que complicarse en exceso. El proceso amule lo primero que hace es comprobar que no haya otra instancia del aMule ejecutándose, en cuyo caso daría un error por consola y todo seguiría tal cual. Creo (ojito, creo) que la forma más sencilla de ver si aMule se está ejecutando es comprobar que no exista el fichero ~/.aMule/muleLock. También se puede usar el comando netstat -n -l | grep $PUERTO_TCP para ver si el proceso está vivo. Buscando en los foros de amule se encuentra bastante información al respecto.

Supongo que lo que comenta samillankis es perfectísamente válido, sólo que creo que es algo más limpio preguntar cada cierto tiempo si el amule está o no vivo y lanzar el proceso en caso de cuelgue.

Un saludete

Avatar de Usuario
pepe0008
Catador de vinos
Mensajes: 1357
Registrado: Vie 15 Jul, 2005 02:00
Ubicación: Madrid

Mensaje por pepe0008 » Sab 01 Mar, 2008 23:36

A mi juicio, es mejor meter el inicio de aMule en un cron cada 15 minutos, que usar el bucle "while" en el shell. ¿Por qué? Porque el cron se ejecuta siempre, aunque no haya una sesión de usuario iniciada en el sistema, mientras que ese bucle "while" del shell generalmente requerirá tener un terminal abierto. Tras un reinicio del equipo, aMule arrancaría automáticamente con el cron, pero no con el bucle "while" en el shell. Además, la solución del cron, si aMule estaba ya arrancado, no hace nada y lo deja en paz.

Yo crearía un cron tal que así: crearía un fichero "/etc/cron.d/amule" con este contenido:

Código: Seleccionar todo

08,23,38,53 * * * * root invoke-rc.d amule start
Suponiendo, claro está, que tengamos previamente creado un script como éste: "/etc/init.d/amule" :

Código: Seleccionar todo

#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/amuled
WEB=/usr/bin/amuleweb
NAME=amuled
DESC="aMule Daemon process"
OPTS="-f"
RUNAMULE=no
AMULEUSER=mulita
AMULEGROUP=mulita
AMULEHOME="/home/mulita"
RUNDNOTIFY=/usr/bin/dnotify

test -x $DAEMON || exit 0
 
# Include amule defaults if available
if [ -f /etc/default/amule ] ; then
    . /etc/default/amule
fi

if [ "$RUNAMULE" != "yes" ];then
    echo "Amule not to be started. Edit /etc/default/amule first."
    exit 1
fi

kill_dnotify() {
        if pgrep -u $AMULEUSER dnotify > /dev/null; then
                pkill -u mulita dnotify
        fi
        }

start_amule() {
        export HOME="${AMULEHOME}"
        start-stop-daemon --start --quiet -c $AMULEUSER:$AMULEGROUP \
        --exec $DAEMON -- "${OPTS}" > /dev/null
        sleep 2
        
        start-stop-daemon --start --quiet -c $AMULEUSER:$AMULEGROUP \
        --exec $RUNDNOTIFY -- -C /home/mulita/.aMule/Incoming -b -e \
        /home/mulita/Scripts/email_dnotify_amule.sh

        if ! pgrep -u $AMULEUSER amuled > /dev/null; then
                echo "aMule daemon can't be started! Check logfile."
                kill_dnotify
        fi
        }

stop_amule() {
        start-stop-daemon --oknodo --stop --quiet --exec $WEB > /dev/null
        sleep 1
        start-stop-daemon --oknodo --stop --quiet --exec $DAEMON > /dev/null
        kill_dnotify
        }

set -e
 
case "$1" in
  start)
    echo -n "Starting $DESC: "
                start_amule
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
                stop_amule
    echo "$NAME."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: "
                stop_amule
    sleep 1
                start_amule
    echo "$NAME."
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac
exit 0
Mi script "/etc/init.d/amule" a su vez lee el fichero de configuración "/etc/default/amule", que en mi caso tiene este contenido:

Código: Seleccionar todo

RUNAMULE="yes"
Nota: este script "/etc/init.d/amule" está pensado para arrancar la versión "daemon" de aMule, es decir, sin interfaz gráfica, y usando el usuario "mulita", y usa el comando "dnotify" para avisar por email cuando se concluye una descarga. Esto último lo hace con esta configuración: "/home/mulita/Scripts/email_dnotify_amule.sh":

Código: Seleccionar todo

#!/bin/sh
# This script is called by dnotify, to inform by email of
# new files downloaded in the aMule Incoming  directory.
MYDIR="/home/mulita/.aMule/Incoming"
cd $MYDIR

SUBJECT=`ls -tr|tail -n1`
BODY=`ls -1shtr|tail -n1`

echo $BODY|mail -s "[aMule] $SUBJECT" mulita

Avatar de Usuario
Compartir_es_amar
Mensajes: 645
Registrado: Jue 13 May, 2004 02:00

Mensaje por Compartir_es_amar » Dom 02 Mar, 2008 20:12

¡Toma ya, este es mi pepe! :D

Muchas gracias por la información que te acabas de kurrar, así da gusto.

Un cordial saludo,

P.d. Y digo yo, no sería mejor cambiarle el título a este hilo por algo más genérico, es que lo de Habemus amule 2.0.0 está ya un poquillo desfasado...

Avatar de Usuario
jjgomera
Mensajes: 666
Registrado: Vie 09 Jun, 2006 22:01
Ubicación: La Casa del Valle del Paraíso

Mensaje por jjgomera » Dom 02 Mar, 2008 21:44

allah, ahora entiendo porque defendías que gnu/linux no es para usuarios normales, pero es que claro, los usuarios normales no saben tanto como tú :juas:

Gracias por el script
Si los problemas tienen solución por qué preocuparse,
y si los problemas no tienen solución para qué preocuparse

Avatar de Usuario
pepe0008
Catador de vinos
Mensajes: 1357
Registrado: Vie 15 Jul, 2005 02:00
Ubicación: Madrid

Mensaje por pepe0008 » Lun 03 Mar, 2008 00:45

La solución del cron que menciono en mi anterior mensaje la escribí a vuelapluma. Ahora veo que para que funcione hay que poner el path completo de "invoke-rc.d" (debido a que el environment de cron por defecto está muy restringido). Además, para que no nos llegue un email con cada ejecución del cron en que aMule ya estaba arrancado, conviene redirigir a "null" el "estándar error". Y, finalmente, para que nos notifique por email cuando efectivamente aMule tuvo que ser lanzado desde el cron, he añadido una opción adicional llamada "cron" a la sentencia "case" del script "/etc/init.d/amule". Lo he probado en mi equipo y todo ello funciona bien.

(Lo documento en el spoiler para no agobiar.)
Spoiler: mostrar
/etc/cron.d/amule (añadida ruta completa, parametro "cron" y redirección de standard error):

Código: Seleccionar todo

08,23,38,53 * * * * root /usr/sbin/invoke-rc.d amule cron 2> /dev/null
/etc/init.d/amule (añadido el caso adicional "cron" al final):

Código: Seleccionar todo

#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/amuled
WEB=/usr/bin/amuleweb
NAME=amuled
DESC="aMule Daemon process"
OPTS="-f"
RUNAMULE=no
AMULEUSER=mulita
AMULEGROUP=mulita
AMULEHOME="/home/mulita"
RUNDNOTIFY=/usr/bin/dnotify

test -x $DAEMON || exit 0
 
# Include amule defaults if available
if [ -f /etc/default/amule ] ; then
    . /etc/default/amule
fi

if [ "$RUNAMULE" != "yes" ];then
    echo "Amule not to be started. Edit /etc/default/amule first."
    exit 1
fi

kill_dnotify() {
        if pgrep -u $AMULEUSER dnotify > /dev/null; then
                pkill -u mulita dnotify
        fi
        }

start_amule() {
        export HOME="${AMULEHOME}"
        start-stop-daemon --start --quiet -c $AMULEUSER:$AMULEGROUP \
        --exec $DAEMON -- "${OPTS}" > /dev/null
        sleep 2
        
        start-stop-daemon --start --quiet -c $AMULEUSER:$AMULEGROUP \
        --exec $RUNDNOTIFY -- -C /home/mulita/.aMule/Incoming -b -e \
        /home/mulita/Scripts/email_dnotify_amule.sh

        if ! pgrep -u $AMULEUSER amuled > /dev/null; then
                echo "aMule daemon can't be started! Check logfile."
                kill_dnotify
        fi
        }

stop_amule() {
        start-stop-daemon --oknodo --stop --quiet --exec $WEB > /dev/null
        sleep 1
        start-stop-daemon --oknodo --stop --quiet --exec $DAEMON > /dev/null
        kill_dnotify
        }

set -e
 
case "$1" in
  start)
    echo -n "Starting $DESC: "
                start_amule
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
                stop_amule
    echo "$NAME."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: "
                stop_amule
    sleep 1
                start_amule
    echo "$NAME."
    ;;
  cron)
    start_amule
    echo "aMule started by cron."
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload|cron}" >&2
    exit 1
    ;;
esac
exit 0
/etc/default/amule

Código: Seleccionar todo

RUNAMULE="yes"
/home/mulita/Scripts/email_dnotify_amule.sh

Código: Seleccionar todo

#!/bin/sh 
# This script is called by dnotify, to inform by email of 
# new files downloaded in the aMule Incoming  directory. 
MYDIR="/home/mulita/.aMule/Incoming" 
cd $MYDIR 

SUBJECT=`ls -tr|tail -n1` 
BODY=`ls -1shtr|tail -n1` 

echo $BODY|mail -s "[aMule] $SUBJECT" mulita

Avatar de Usuario
catwoman
Mensajes: 563
Registrado: Sab 10 Jun, 2006 09:11
Ubicación: Poblados Maritimos

Mensaje por catwoman » Lun 03 Mar, 2008 18:38

pepe, ¿has propuesto este script en los foros del amule? Creo que realmente es un curro que merece la pena ser difundido y, además, puede ayudar a otros.
Me quito el sombrero.

Avatar de Usuario
pepe0008
Catador de vinos
Mensajes: 1357
Registrado: Vie 15 Jul, 2005 02:00
Ubicación: Madrid

Mensaje por pepe0008 » Lun 03 Mar, 2008 19:44

catwoman escribió:pepe, ¿has propuesto este script en los foros del amule?
Por la presente lo pongo bajo licencia GPL. :mrgreen:

En los foros de aMule hay gurús de verdad, mi solución no les aportaría nada.

Saludos.

kiko3
Mensajes: 71
Registrado: Vie 18 May, 2007 18:50

Mensaje por kiko3 » Lun 03 Mar, 2008 22:36

Hola. emule 2.2.0 enseña la lista de compartidos a pesar de tenerlo denegado, ya lo he comprobado dos veces con la misma ip , eso es un bug no?
Saludos.

Avatar de Usuario
samillankis
Mensajes: 2096
Registrado: Vie 15 Jul, 2005 02:00

Mensaje por samillankis » Lun 03 Mar, 2008 23:44

kiko3 escribió:Hola. emule 2.2.0 enseña la lista de compartidos a pesar de tenerlo denegado, ya lo he comprobado dos veces con la misma ip , eso es un bug no?
Saludos.
O un error de traducción.
En los foros del amule no comentan nada al respecto, al menos en la sección en español.
Puedes comentarlo por allí a ver que dicen.

kiko3
Mensajes: 71
Registrado: Vie 18 May, 2007 18:50

Mensaje por kiko3 » Mar 04 Mar, 2008 10:16

samillankis escribió:
kiko3 escribió:Hola. emule 2.2.0 enseña la lista de compartidos a pesar de tenerlo denegado, ya lo he comprobado dos veces con la misma ip , eso es un bug no?
Saludos.
O un error de traducción.
En los foros del amule no comentan nada al respecto, al menos en la sección en español.
Puedes comentarlo por allí a ver que dicen.
La version que tengo instalada,es un poco vieja ,la voy a actualizar a ver que pasa.
Gracias.

Avatar de Usuario
Morrissey21
Mensajes: 5095
Registrado: Lun 20 Oct, 2003 02:00
Ubicación: Vete a saber
Contactar:

Mensaje por Morrissey21 » Mar 04 Mar, 2008 10:57

Ahora estoy con el aMule SVN, pero antes, con el CVS, me pasaba lo mismo: no puedo reservar slot porque la casilla correspondiente aparece atenuada, no disponible. He revisado la configuración y todo parece correcto. Nunca me fijé en si podía hacerlo con el 2.1.3.

Avatar de Usuario
Compartir_es_amar
Mensajes: 645
Registrado: Jue 13 May, 2004 02:00

Mensaje por Compartir_es_amar » Mar 04 Mar, 2008 20:07

Morrissey21 escribió:Ahora estoy con el aMule SVN, pero antes, con el CVS, me pasaba lo mismo: no puedo reservar slot porque la casilla correspondiente aparece atenuada, no disponible. He revisado la configuración y todo parece correcto. Nunca me fijé en si podía hacerlo con el 2.1.3.
Con la versión 2.1.3 desde Ubuntu 7.10 se puede sin ningún problema (acabo de hacerlo en plan prueba)

Un cordial y libre saludo

P.d. Gracias a quien corresponda por haber modificado el título del hilo

Avatar de Usuario
jjgomera
Mensajes: 666
Registrado: Vie 09 Jun, 2006 22:01
Ubicación: La Casa del Valle del Paraíso

Mensaje por jjgomera » Mar 04 Mar, 2008 20:24

Morrissey21 escribió:Ahora estoy con el aMule SVN, pero antes, con el CVS, me pasaba lo mismo: no puedo reservar slot porque la casilla correspondiente aparece atenuada, no disponible. He revisado la configuración y todo parece correcto. Nunca me fijé en si podía hacerlo con el 2.1.3.
yo en varias ocasiones lo he probado y he podido, eso si, solo sirve para esa sesión, y el cliente (amigo) al que le das slot debe estar en tu cola en ese momento. Uso la versión SVN

PD: ¿SVN y CVS no es lo mismo?

Lo de que permita ver archivos compartidos también lo he visto alguna vez al leer el registro, aceptado a pesar de no permitirlo :?
Si los problemas tienen solución por qué preocuparse,
y si los problemas no tienen solución para qué preocuparse

Avatar de Usuario
Compartir_es_amar
Mensajes: 645
Registrado: Jue 13 May, 2004 02:00

Mensaje por Compartir_es_amar » Mar 04 Mar, 2008 22:18

jjgomera escribió:PD: ¿SVN y CVS no es lo mismo?
A efectos prácticos, para no programadores, se puede decir que son lo mismo. En un principio se creó el CVS y luego, como mejora, surgió el SVN.

Para los que programamos sí que hay diferencias, pero creo que se salen un "poco" de la temática de este hilo.

saludos++;

kiko3
Mensajes: 71
Registrado: Vie 18 May, 2007 18:50

Mensaje por kiko3 » Jue 06 Mar, 2008 11:13

jjgomera escribió:
Lo de que permita ver archivos compartidos también lo he visto alguna vez al leer el registro, aceptado a pesar de no permitirlo :?
Ahora tengo la 2.1.3 y no me pasa eso ya .gracias.

Avatar de Usuario
jjgomera
Mensajes: 666
Registrado: Vie 09 Jun, 2006 22:01
Ubicación: La Casa del Valle del Paraíso

Mensaje por jjgomera » Dom 23 Mar, 2008 12:05

kiko3 escribió:
jjgomera escribió:
Lo de que permita ver archivos compartidos también lo he visto alguna vez al leer el registro, aceptado a pesar de no permitirlo :?
Ahora tengo la 2.1.3 y no me pasa eso ya .gracias.
según parece era un simple problema de traducción:

http://forum.amule.org/index.php?topic=14586.0
Si los problemas tienen solución por qué preocuparse,
y si los problemas no tienen solución para qué preocuparse

kiko3
Mensajes: 71
Registrado: Vie 18 May, 2007 18:50

Mensaje por kiko3 » Jue 03 Abr, 2008 00:19

jjgomera escribió:
kiko3 escribió:
jjgomera escribió:
Lo de que permita ver archivos compartidos también lo he visto alguna vez al leer el registro, aceptado a pesar de no permitirlo :?
Ahora tengo la 2.1.3 y no me pasa eso ya .gracias.
según parece era un simple problema de traducción:

http://forum.amule.org/index.php?topic=14586.0
Si , con esta: ''aMule SVN Versión:
Mon Mar 3 07:01:59 CET 2008'' , ya no ocurre.
Saludos.

Avatar de Usuario
Vertigo
Mensajes: 1316
Registrado: Jue 27 May, 2004 02:00
Ubicación: Guantánamo
Contactar:

Mensaje por Vertigo » Jue 03 Abr, 2008 09:56

Lo siento, me he aquivocado, porque no tenia ni aidea de amule...
Última edición por Vertigo el Jue 03 Abr, 2008 16:25, editado 1 vez en total.

Avatar de Usuario
Morrissey21
Mensajes: 5095
Registrado: Lun 20 Oct, 2003 02:00
Ubicación: Vete a saber
Contactar:

Mensaje por Morrissey21 » Jue 03 Abr, 2008 15:25

Vertigo escribió:Uso el Emule v.048 a (MorphXT v 10.5).
Éste es un hilo dedicado a aMule, un mod usado, sobre todo, bajo distribuciones Linux. Para los MorphXT existe un hilo propio.

Hilo del MorphXT - (Versión actual 10)

Seguramente los usuarios de ese hilo puedan ayudarte siendo más específicos.

Un saludo.

Responder