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.
Creación del script de finalización
Una vez obtenido el ratio deseado, podemos hacer que Transmission ejecute un script moviendo el torrent a una carpeta definida para ello y borrándolo 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
doneHay que tener en cuenta modificar las dos primeras variables con los datos adecuados.
Integración con Telegram (opcional)
Además he añadido en el script original las siguientes líneas para recibir un mensaje por Telegram avisándome que la descarga ha finalizado. Para ello, necesitarás un bot de Telegram:
telegram.sh "Torrent $NAME is completed"
telegram.sh "Torrent data moved and removed from transmission"Configuración de permisos
Damos acceso de ejecución:
sudo chmod +x /usr/local/bin/finalized.shConfiguración de Transmission
Paramos el servicio:
sudo systemctl stop transmissionEditamos el fichero de configuración:
sudo nano /var/lib/transmission/.config/transmission-daemon/settings.jsonY modificamos las siguientes líneas:
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/usr/local/bin/finalized.sh",Y arrancamos de nuevo:
sudo systemctl start transmissionYa lo tenemos todo listo. Ahora cuando alcancemos el ratio seleccionado en Transmission, los ficheros se moverán a la carpeta elegida.
¿Te ha sido útil?
Ayúdame a mejorar con tu puntuación y comentarios.
💬 Comentarios
Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!