Skip to content

Instantly share code, notes, and snippets.

@Canx
Created October 9, 2019 18:55
Show Gist options
  • Save Canx/d38ceb733067fb559c81200f4896908e to your computer and use it in GitHub Desktop.
Save Canx/d38ceb733067fb559c81200f4896908e to your computer and use it in GitHub Desktop.
xhost
sudo xhost local:test
@Canx
Copy link
Author

Canx commented Oct 9, 2019

Script ejecutar_todos ($1: script, $2: 0/1)

  • Parametros

    • $1: nombre del script, debe estar en el directorio actual.
    • $2 indica si se ejecuta en paralelo o secuencialmente, por defecto en paralelo (1)
  • Pasos:

    • Buscamos todas las ip's disponibles en la red.
    • Creamos un array para indicar el estado de cada ip.
    • Para cada ip
      • guardamos MAC, IP y estado. (https://stackoverflow.com/a/43610977)
      • Estados: 0 - no iniciado, 1 - ejecutandose, 2 - error de autenticación,...
      • Si no iniciado iniciar ejecutar.
      • ....

Ejecutar bucle de scripts "ejecutar".
Nos guardamos los pids de cada ejecución.
Esperamos a apretar una tecla (solo si la opción paralelo estaba activada)
En cuanto apretamos la tecla matamos a todos los procesos hijos (si la opción paralelo estaba activada) y se acaba el script.

Script ejecutar ($1: IP, $2: script, $3)

  • Parámetros

    • $1: ip a la que conectarnos.
    • $2: script a ejecutar remotamente.
    • $3: password (-pass="XXXX"). Por defecto se intenta clave pública.
  • Valores de retorno

    • 0: se ha ejecutado correctamente
    • 1: error al conectarse, no es posible conectarse al cliente.
    • 2: error de autenticación, no hay autenticación por clave pública.
    • 3: error de autenticación, el password es incorrecto.
  • Trap

    • Esperamos a la señal X para finalizar la conexión.
  • Ejecución
    comprueba si está el script "client" en /tmp, en caso de no estar lo copia
    comprueba si está el script $1 en /tmp/scripts, si no existe copia el script
    comprueba si se está ejecutando el script "client", si se está ejecutando se acaba el script, en caso contrario continua ejecutandose:

Comprueba si el script reintentar ya se está ejecutando, en caso contrario lo ejecuta y sale.

Script client (en cliente)

Se encarga de ejecutar los scripts en /tmp/scripts si no se están ejecutando ya.

ffplay -fs <fichero.mp4>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment