Servidor de descargas Transmission: 3 - Dejar de compartir

Parar al alcanzar ratio de torrent compartido

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.

sudo nano /usr/local/bin/finalized.sh
#!/bin/sh

MOVEDIR=/PATH/TO/MOVE
BASE_COMMAND="transmission-remote -n USUARIO:PASSWORD"

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
                telegram.sh "Torrent $NAME is completed"
                echo "Torrent $NAME is completed"
                $BASE_COMMAND -t $TORRENT_ID --move $MOVEDIR
                $BASE_COMMAND -t $TORRENT_ID -r
                telegram.sh "Torrent data moved and removed from transmission"
                echo "Torrent data moved and removed from transmission"
        fi
done

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

Además he añadido en el script original las siguientes lineas para recibir un mensaje por Telegram avisándome que la descarga ha finalizado. Para ello, necesitaras un bot de Telegram:

telegram.sh "Torrent $NAME is completed"
telegram.sh "Torrent data moved and removed from transmission"

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

Y 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.

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Categorias del blog

twitter

Últimos tweets