Blog

No pretendo ser un gurú. En la red hay muchos y muy buenos.

15 Abr 2018

Servidor de descargas Transmission: 3 - Dejar de compartir

Una vez finalizada la descarga es fundamental para la filosofía P2P dejar el fichero compartiendo el máximo tiempo posible. Podemos hacer que, de manera automática, se deje de compartir al alcanzar el ratio deseado, y mover el fichero a una carpeta definitiva.

Una vez obtenido el ratio deseado, podemos hacer que Transmission ejecute un script moviendo el torrent a una carpeta definida para ello y borrarlo de la cola.

Las carpetas deberán tener acceso de lectura y escritura para el usuario Transmission

Al script le llamare finalized.sh y será el siguiente:

#!/bin/sh
MOVEDIR=/mnt/torrents/shared
BASE_COMMAND="transmission-remote -n yourusername:yourpassword"

TORRENT_ID_LIST=$($BASE_COMMAND -l | sed -e '1d;$d;s/^ *//' | cut -d ' ' -f 1)

for TORRENT_ID in $TORRENT_ID_LIST
do
     NAME=$($BASE_COMMAND -t $TORRENT_ID -i | grep -i "Name:" | sed 's/^ //' | cut -d ' ' -f 2-)
     PERCENT_COMPLETE=$($BASE_COMMAND -t $TORRENT_ID -i | grep -i "Percent Done:" | sed 's/^ //' | cut -d ' ' -f 3)
     STATE=$($BASE_COMMAND -t $TORRENT_ID -i | grep -i "State:" | sed 's/^ //' | cut -d ' ' -f 2)
    RATIO=$($BASE_COMMAND -t $TORRENT_ID -i | grep -i "Ratio:" | sed 's/^ //' | cut -d ' ' -f 2)

    #echo "$NAME:$PERCENT_COMPLETE:$STATE:$RATIO"

    if [ "$PERCENT_COMPLETE" = "100%" ] && ( [ "$STATE" = "Stopped" ] || [ "$STATE" = "Finished" ] ); then
            echo "Torrent $NAME is completed"
            $BASE_COMMAND -t $TORRENT_ID --move $MOVEDIR
            $BASE_COMMAND -t $TORRENT_ID -r
            echo "\tTorrent data moved and removed from transmission"
    fi
done

Hay que tener en cuenta modificar las dos primeras variables con los datos adecuados.

Damos acceso de ejecución:

sudo chmod +x finalized.sh

Paramos el servicio:

sudo systemctl stop transmission

Editamos el fichero de configuración:

sudo nano /var/lib/transmission/.config/transmission-daemon/settings.json

Modificamos las siguientes líneas:

"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/ruta/del/script/finalized.sh",

Y arrancamos de nuevo:

sudo systemctl start transmission

Ya lo tenemos todo listo. Ahora cuando alcancemos el ratio seleccionado en Transmission,los ficheros se moverán a la carpeta  elegida.

Visto 126 veces
Valora este artículo
(1 Voto)

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.

Twitter

Últimos tweets