Un script php que quiero que sea ejecutado por el cliente de transmisión!

En transmission-gtk hay una opción que puede ejecutar el script: Edición> Preferencias> Descarga> Call script cuando se completa el torrent .

Recientemente, encontré este script que no sé cómo hacer que funcione bajo transmisión. De acuerdo con la descripción del progtwig, el script no apaga el sistema, pero puede detener la transmisión después de que todos los torrents estén listos. eso es suficiente para mí porque puedo encadenar ” apagar ” a ” cerrar transmisión ” por && .

Ahora, ¿pueden ayudarme a ejecutar este script php en transmisión?

este es un ejemplo mencionado por el autor del script: php.exe Transmission_Quit.php --port=9999 --hostname=192.168.0.1 ; ¡¿Qué significa esto?! ¿Cómo debo usarlo? ¿Debería apuntar a la opción ” Llamada de script cuando se complete el torrent ” directamente?

Lo dejo para continuar con la pregunta original que solicita ejecutar un script php específico. Pero se proporciona una solución en la sección Nueva receta para resolver el problema principal.

Por favor, intente esto e informe sobre sus resultados, después de lo cual esta respuesta se puede cambiar o eliminar:

En un momento determinado se le puede pedir su contraseña.

  1. En primer lugar, vamos a crear un archivo llamado script.php colocando un terminal sudo gedit script.php (recuerde que puede colocar este archivo en la carpeta que desee, pero para fines de prueba, su carpeta de inicio será buena).
  2. En el archivo, copiemos / pegemos el contenido del script que mencionas. Guarde el archivo y ciérrelo.
  3. Ahora vamos a darle al archivo los permisos de archivo adecuados y el permiso de ejecución también al colocar las siguientes dos líneas en un terminal, una línea a la vez.

    sudo chmod 755 script.php

    sudo chmod a + x script.php

  4. Ahora, instalemos php5-cli colocando un terminal sudo apt-get install php5-cli y esperemos que el terminal finalice el proceso de instalación.

Una vez instalado php5-cli , podemos probar el script invocando php script.php --port=9999 --hostname=192.168.0.1; en una terminal, pero será mejor si lo haces desde dentro de Transmisión.

php5-cli es un intérprete de línea de comandos para PHP5 Scripting Language y es útil para ejecutar scripts php como este, es más como el archivo php.exe para Windows, el que usted menciona en su pregunta original.

Espero que tenga éxito, pero informe sobre sus resultados para proporcionar el soporte adecuado o elimine esta respuesta si no es útil.

Apéndice

Después de leer tus comentarios, te doy esta receta de comida rápida para el script php.

Primero que todo, necesito explicar algunas cosas del ejemplo dado por el autor del guión, como sigue:

 script.php --port=9999 --hostname=192.168.0.1; 
  • --port=9999 = 9999 es un puerto de ejemplo, pero en este campo debe escribir el mismo número de puerto que define en la pestaña del cliente web.
  • --hostname=192.168.0.1 = debe ser la ip del equipo que desea que ejecute el script para detener el proceso de transmisión.

Esto me hace pensar que el proceso se puede invocar de forma remota, pero en nuestro caso particular, vamos a utilizar los valores predeterminados para que no tengamos que incluir ni el puerto ni el nombre de host. Simplemente ejecutando el archivo script.php en un terminal o invocado por transmisión, utilizará los valores predeterminados que se aplican a nuestra computadora ( localhost ).

Entonces, cocinemos comida rápida:

  1. Necesitamos un archivo, llamémoslo bye.sh y lo colocamos en algún lugar, su carpeta de inicio es un buen lugar para realizar pruebas.
  2. Inserte el siguiente dentro del archivo ( guión de comida rápida aquí ), guárdelo, ciérrelo y déle permisos de ejecución. (Para referencia, baja en esta respuesta y encuentra cómo).

introduzca la descripción de la imagen aquí

  • Luego, sírvalo dentro de la pestaña “Descargar” de la transmisión, pero asegúrese de incluir el archivo bye.sh adecuado que se invocará cuando finalice la descarga.

introduzca la descripción de la imagen aquí

Eso es. Necesito explicar que de alguna manera, el script php está teniendo éxito, pero observa un pequeño retraso después de que finalizan las descargas y acabo de probar con 2 archivos pequeños de torrent. No puedo decir si la demora boostá si la lista es más larga o si el tamaño de la descarga es mayor, comportamiento que no se observa en la fórmula de Nueva Receta. Sin embargo, el archivo PHP le brinda la garantía de que se ejecutará en cualquier sistema operativo que sea compatible con PHP, y mi Nueva Receta está diseñada principalmente para sistemas basados ​​en Linux, funciona en Ubuntu y puede tener éxito en otras distribuciones, basadas en Debian o Ubuntu, y ciertas modificaciones le permitirán tener éxito en otras distribuciones no basadas en Debian / Ubuntu.

¡Buena suerte!

Nueva receta

OK, tengo una nueva receta para este caso, admito que me llamó la atención, incluso cuando no uso la transmisión con tanta frecuencia.

La receta

Los ingredientes

  1. transmission-gtk (instalado de alguna manera, desde la bolsa de software, terminal, etc.)
  2. transmission-cli (sudo apt-get install transmission-cli, proporcione una contraseña, espere a que finalice la instalación.)
  3. El guión . (cocinado aparte)

Preparación

  • Preparemos nuestra transmisión para recibir peticiones de clientes web desde el exterior, de esta manera podemos monitorear lo que está sucediendo en nuestro progtwig. Vamos a abrir Transmisión y vamos a la pestaña “Web” para habilitar la checkbox “Habilitar cliente web” como se muestra en la siguiente captura de pantalla.

introduzca la descripción de la imagen aquí

(Los valores por defecto harán el truco perfectamente)

  • byebye.sh nuestro editor de texto favorito para crear un archivo llamado byebye.sh y byebye.sh el siguiente contenido. (Ver el guion aqui )

introduzca la descripción de la imagen aquí

Ahora, busquemos el archivo bybye.sh y otorguemos los permisos de ejecución adecuados ingresando un terminal sudo chmod a+x bybye.sh o ingresando las propiedades del archivo en Nautilus y activando la checkbox “Permitir la ejecución del archivo como progtwig” en el “Permisos” como se muestra en la siguiente captura de pantalla.

introduzca la descripción de la imagen aquí

  • Una vez que hayamos preparado el script, instalemos transmission-cli , en un terminal: sudo apt-get install transmission-cli , sudo apt-get install transmission-cli Enter y proporcione su contraseña, después de lo cual se instalará el software.

Tiempo de degustación

En una terminal, suelte la transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l después de lo cual los resultados pueden variar de un caso a otro, dependiendo de la cantidad de torrents que estén pendientes o que se estén descargando en la actualidad. Si los resultados son diferentes a 0 estamos en camino. Si recibe 0 y algo se está descargando o está en cola, debe verificar la receta desde el principio. Si recibe un error, escríbalo en un comentario para proporcionar soporte.

  • Si todo va bien, ahora ordenemos a la transmisión que ejecute el script cada vez que se complete un torrent. ¡CÁLMESE! Por favor, tranquilos … el script se ejecutará cada vez que se descargue completamente un torrent, pero solo activará la acción para terminar la transmisión justo cuando los resultados de las descargas sean iguales a cero. Esta forma condicional nos da la tranquilidad de que la transmisión no se cerrará en cada descarga. Se proporciona una captura de pantalla para su conveniencia:

introduzca la descripción de la imagen aquí

¡Y voilá! La receta se puede servir en porciones generosas y en compañía de todas sus descargas. La transmisión se cerrará solo si la última descarga tuvo éxito.

ALGUNAS ADVERTENCIAS

Si la transmisión tiene solo una acción pendiente y la descarga finaliza en el mismo momento de la apertura del software, la transmisión se cerrará tan pronto como se abra.

Glosario:

killall -9 transmission = cerrará la transmisión en un modo suave para que no reciba un mensaje de error cada vez que se cierre. El simple hecho de utilizar la killall transmission lo cerrará de manera ruda, por lo que el software informará de un fallo cercano.

Ahora, asegúrese de incluir un vaso con excelente ron cubano en la mesa cuando sirva la receta y …

¡Buena suerte!