Servidor de descargas con mldonkey (III)
SEPTIMO PROBLEMA: tenía lowID. La solución es sencilla, una redirección de puertos en el router. Sin embargo, no son únicamente los puertos de los servidores a los que nos conectemos. El mldonkey utiliza algunos puertos más para gestionar la conexión (podemos verlos en el fichero de configuración downloads.ini).
Bueno, una vez instalado todo y configurado el mldonkey en el equipo viejo para poder gestionarlo desde toda la red (así se puede poner a bajar desde cualquier ordenador de la casa, y siempre se descarga en el equipo viejo), sólo faltaba un script que pasase ficheros a mi equipo en cuanto estuviesen descargados, por aquello de no llenar aquel disco duro. Como ese ordenador va a estar siempre encendido, lo más cómodo es que el script esté en mi ordenador, y cada cierto tiempo, monte la unidad de red del viejo, compruebe si hay ficheros y, si los hay, los transifera aquí con wget. El script es algo tan sencillo como ésto:
#!/bin/bash directorio_local="*directorio donde queremos las descargas*" mkdir $directorio_local/temporal mount *directorio NFS* cd *directorio NFS*/incoming/files for i in * ; do cd $directorio_local/temporal wget -c ftp://*ip del servidor*/incoming/files/"${i}" --user=*usuario FTP* --password=*password del usuario FTP* tamanho1=`ls -l "${i}"` tamanho1=`echo $tamanho1 | cut -d\ -f5` tamanho2=`ls -l *directorio NFS*/incoming/files/"${i}"` tamanho2=`echo $tamanho2 | cut -d\ -f5` if [ "$tamanho1" = "$tamanho2" ] ; then rm -f *directorio NFS*/incoming/files/"${i}" mv "${i}" ../ fi done umount *directorio NFS*
Como veis, en el script se hace uso de todo, del servidor ftp y del directorio NFS. Monta la unidad NFS, comprueba si hay ficheros y luego descarga cada uno por ftp. Para eso es necesario tener un servidor ftp instalado (recordad que lo instalamos al principio “para lo que pudiese hacer falta”
). Una vez descargado cada fichero, se comprueba si el tamaño de origen y destino coincide (está entero) y si coinciden, se borra del origen. Además, está implementado un pequeño sistema de seguridad. Los ficheros se descargan inicialmente a un directorio temporal, y cuando la descarga está completa, se mueve al directorio principal. Ésto es así por si reiniciamos el equipo mientras se está copiando algo. De esta forma, sabemos que todo lo que tenemos en el directorio principal está terminado. Tampoco pasa nada por interrumpir una transferencia, porque el parámetro -c del wget continua las descargas incompletas.
Para que se ejecute de vez en cuando, basta con añadirlo al cron (para eso hay múltiples tutoriales por ahí, nada del otro mundo). Además, se puede automatizar un poquito más. Mldonkey permite establecer usuarios, por lo que si queremos colas de descarga separadas, creamos distintos usuarios no administradores, e indicamos un directorio de ficheros descargados distinto para cada uno, indicándole al script de cada usuario que se haga con los ficheros del directorio correspondiente. No es complicado utilizando el gestor web del mldonkey.
En fin, eso es todo. Nada fácil y nada sencillo, pero al menos sí para toda la familia



Busca en San Guguel
Paranoyas sobre
Nube de tormentags
Archivetes
Risas
Candelario
Paranoya estadística
Linquetes
Suéltame tus idas de olla