Página 5 de 7

Publicado: Vie 29 Feb, 2008 21:48
por samillankis
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.

Publicado: Sab 01 Mar, 2008 12:40
por Compartir_es_amar
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

Publicado: Sab 01 Mar, 2008 23:36
por pepe0008
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

Publicado: Dom 02 Mar, 2008 20:12
por Compartir_es_amar
¡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...

Publicado: Dom 02 Mar, 2008 21:44
por jjgomera
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

Publicado: Lun 03 Mar, 2008 00:45
por pepe0008
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

Publicado: Lun 03 Mar, 2008 18:38
por catwoman
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.

Publicado: Lun 03 Mar, 2008 19:44
por pepe0008
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.

Publicado: Lun 03 Mar, 2008 22:36
por kiko3
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.

Publicado: Lun 03 Mar, 2008 23:44
por samillankis
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.

Publicado: Mar 04 Mar, 2008 10:16
por kiko3
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.

Publicado: Mar 04 Mar, 2008 10:57
por Morrissey21
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.

Publicado: Mar 04 Mar, 2008 20:07
por Compartir_es_amar
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

Publicado: Mar 04 Mar, 2008 20:24
por jjgomera
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 :?

Publicado: Mar 04 Mar, 2008 22:18
por Compartir_es_amar
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++;

Publicado: Jue 06 Mar, 2008 11:13
por kiko3
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.

Publicado: Dom 23 Mar, 2008 12:05
por jjgomera
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

Publicado: Jue 03 Abr, 2008 00:19
por kiko3
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.

Publicado: Jue 03 Abr, 2008 09:56
por Vertigo
Lo siento, me he aquivocado, porque no tenia ni aidea de amule...

Publicado: Jue 03 Abr, 2008 15:25
por Morrissey21
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.