miércoles, 15 de junio de 2022

Acelerar las descargas del aMule

Esto que escribo hoy es un perfecto ‘dèjá vu’ de lo que escribía aquí mismo hace año y medio, pero es que entonces me enrollé mucho dándole vueltas a los scripts, bucles y cosas así, y creo que vale la pena dejar las ideas claras, y sobre todo concisas, sobre como acelerar las descargas de aMule. Por cierto, dejo a un lado aquello, famoso, de la ID baja o alta, que no se si algún día lo había comentado pero que, si no es así, lo haré en alguna ocasión próxima.

Porque aquí me voy a referir, como fondo de la cuestión, a que descubrí que, cuando arrancas el aMule, en los primeros minutos de funcionamiento ‘engancha’ con bastantes ‘pares’ y va como una moto, pero al cabo de unos pocos minutos (digamos que entre 2 y 5) se ralentiza y, en principio, ya va a su habitualmente lenta (respecto a otras aplicaciones, como QBitorrent...) velocidad de crucero. Y entonces el truco es sencillo...

Porque, efectivamente, todo sería cuestión de parar y arrancar inmediatamente el aMule, cada poco tiempo, para mantener un buen promedio de velocidad de descarga. Pero claro, si te estás bajando una peli de, digamos, 4 GB, sería un coñazo tener que hacerlo ‘a mano’… así que hay que buscar alguna solución más ‘automática’.
Como dije, hace tiempo me lié con (para mis conocimientos…) complejos scripts para que, con un ‘clic’, se automatizase todo... hasta que descubrí (llámalo ‘huevo de Colón’, ‘navaja de Ockham’, o como quieras) que la solución es mucho más sencilla haciéndolo con dos ‘clics’, es decir, en dos fases, o procesos, funcionando independientemente:
a) Una orden para arrancar el aMule (si está apagado)
b) Una orden para apagar el aMule cada 3, 4, 5… minutos, si está encendido.
Y basta activar estas órdenes (una detrás de otra) para crear el ‘bucle’.

Y (salvo que algún experto informático me señale lo contrario) son muy sencillas:

1-Watch aMule
O sea, hacerlo arrancar. Pues para esto basta la orden, por consola…
watch -n 10 amule
donde se ordena ejecutar el mandato de arranque (‘amule’) tras un intervalo de 10 segundos (esta pausa pienso que puede ser buena para que no se ‘atragante’ apagando y arrancando inmediatamente, pero se podría probar con cualquier cifra de segundos, 5, 10, 15, 20…)

2- Close aMule
Hay que crear una orden que diga que, si el aMule está funcionando, se apague automáticamente al cabo de ‘X’ segundos.
Hombre, lo primero, hay que tratar de ver cuándo la velocidad de una descarga ‘empieza a bajar rápidamente’, o se ralentiza, o congela, que va a depender de cada tipo de archivo, y conexiones, disponibles. Estos tiempo pueden ser del orden de 180 segundos (o sea 3 minutos), 240, 300… solo es cuestión de echar un vistazo al principio de la descarga, incluso a veces menos.
Un tiempo razonable puede ser poner 4 minutos (240 segundos), y dejarlo así... mientras no se demuestre lo contrario. Así que hay que inventarse un script (que llamaré, por ejemplo, ‘amule0.sh’) para hacer funcionar esta orden. Yo (con mis pobres conocimientos) he creado éste...
#!/bin/bash
amule=`pidof amule`
while [ $amule -gt 0 ]; do
sleep 240
pkill amule
done

que viene a decir que ‘cuando el valor del ‘PIDOF’ (en realidad, de la orden 'pidof amule') sea mayor que cero (que es lo que sucede cuando está funcionando el aMule), espera (sleep) 240 segundos y a continuación apaga (pkill) el amule’

(Y el truco, por tanto, es que, si está activa la orden ‘1-Watch amule’… a los 10 segundos volvería a arrancar nuestro aMule, y así se crearía automáticamente el bucle de ‘arranca-funciona 240 y apaga-vuelve a arrancar’).

Y para hacerlo más fácil de utilizar, lo más sencillo es crear dos ‘Lanzadores’ de escritorio, a los que queda bien que les asignemos sendos iconos personalizados, y que activaremos ‘por consola’, y en su orden, una sola vez (y se mantendrán activos en tanto no cerremos las terminales o consolas correspondientes, que si las ‘minimizamos’ no nos molestan nada).
Este...
[Desktop Entry]
Name=lanzar aMule apagado
Exec=watch -n 10 amule
Comment=lanzador de escritorio para arrancar aMule
Terminal=true
Icon=/home/doc/1-Informática/0-SELECCIÓN de iconos/amule.png
Type=Application
Name[es_ES]=1-watch aMule


y este otro…
[Desktop Entry]
Name=apagar amule
Exec=sh amule0.sh
Comment=apagar amule cada X segundos
Terminal=true
Icon=/home/doc/1-Informática/0-SELECCIÓN de iconos/amule-icon.png
Type=Application
Name[es_ES]=2-close aMule

Aunque lo más sencillo (al menos, en mi entorno Cinnamon, con Nemo) es, sobre el Escritorio... Botón derecho ratón-'Crear un lanzador nuevo aquí' y ahí (aparte de elegir un bonito icono, y marcar que se ejecute desde consola), poner, a uno ('Lanzar aMule apagado'), la orden
watch -n 10 amule
y al otro ('Apagar aMule') la orden de ejecutar el script arriba indicado, esto es
sh amule0.sh
Y OJO, debe de tenerse en cuenta que, si no tenemos guardado en script ‘amule0.sh’ en la ruta en la que se abre, por defecto, la consola, deberemos indicar en Exe=… esto:
Exe=[ruta_específica]/sh amule0.sh


Y esto es todo por hoy, a mi el truco me funciona muy bien… y cuando lo necesito (aunque cada vez la uso menos) mi aMule ‘vuela’...

No hay comentarios:

Publicar un comentario