## Administración y ejecución de Acciones.

En esta sección, se describen las principales características del módulo de Acciones para llevar a cabo la ejecución de comandos, procedimientos y tareas, así como su ámbito de aplicación definiendo el contexto.

- **Acción:**
Operación en general que puede ser requerida desde la consola de administración web y que será ejecutada en los clientes
- **Comando**
Acción predefinida en la consola web de OpenGnsys. En esta nueva consola de Opengnsys se pueden añadir nuevos comandos, utilizando la función de "script" de los procedimientos.
- **Procedimiento** (Script)
Secuencia de acciones con sus parámetros de ejecución que puede ser lanzada para ejecutarse sobre cualquier cliente o grupo de clientes. Esta característica se articula a través de los "Scripts"
- **Tarea**
Secuencia de acciones, similar al procedimiento, que se realiza directamente sobre un ámbito de ejecución determinado y que puede ser programada para realizarse en periodos específicos de tiempo.

Para acceder a estas características tenemos tres opciones que determinan su ámbito de aplicación

- **Desde el panel lateral**, donde podemos trabajar directamente con los **Comandos** y **Tareas** para **Crear**, **Editar**, **Eliminar**.
- **Desde el árbol de grupos** donde tendremos acceso al menú de "Ejecutar Script" que nos permitirá realizar dicha acción sobre los objetos contenidos en este grupo.
- **Sobre un cliente determinado**, donde podremos acceder tanto al menú de acciones predefinidas, como al menú de script.

![oggui-acciones_menus.png](../../assets/images/screenshots/oggui-acciones_menus.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }  

!!! warning "Advertencia"
    La nueva consola permite, a pesar de haber seleccionado un grupo en el árbol de grupos, revisar la selección para hacerla más granular, quitando de la lista de clientes objetivo aquellos sobre los que no se quiera llevar a cabo la actividad. El botón "Ejecución Comandos" se habilita cuando hay al menos un cliente seleccionado.

![oggui-acciones_seleccion.png](../../assets/images/screenshots/oggui-acciones_seleccion.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

### Acciones predefinidas

Desde la ventana de clientes, podemos acceder a las acciones disponibles para un cliente determinado, en función de su estado.

En el ejemplo, observamos que el cliente está encendido por lo tanto las acciones disponibles son:

![oggui-acciones_menu_cliente.png](../../assets/images/screenshots/oggui-acciones_menu_cliente.png){ style="float: right; margin: 0 0 15px 20px; max-width: min(350px, 45%); height: auto;" }

- **Apagar**: permite apagar un equipo encendido. En este caso concreto, al estar el icono del cliente amarillo, nos indica que se encuentra iniciado en ogLive
- **Reiniciar**
- **Iniciar Sesión**
- **Crear Imagen**: al encontrarse iniciado en ogLive, nos permite crear una imagen a partir de este equipo, si consideramos que es el equipo modelo.
- **Clonar/desplegar imagen**: las herramientas de clonación y despliegue de imágenes se encuentran disponibles si nos encontramos con un equipo iniciado en ogLive.
- Eliminar Imagen Cache
- **Particionar y Formatear**: el motor de clonación se encuentra disponible, por lo que nos permite trabajar con la estructura del disco
- Inventario Software
- Inventario Hardware
- **Ejecutar script**: así mismo, nos permite ejecutar scripts sobre el cliente, que en este caso, se reducen al ámbito de aplicación de ogLive

<div style="clear: both;"></div>

### Administrar Comandos

Cuando accedemos al menú Acciones -> Comandos, podemos administrar los comandos existentes, donde podemos distinguir dos tipos

- **Comandos predefinidos**: aquellos que tienen el botón de edición sombreado
- **Comandos personalizado**: aquellos que tienen el botón de edición activo

![oggui-acciones_administrar-comandos.png](../../assets/images/screenshots/oggui-acciones_administrar-comandos.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

Para añadir o editar un comando, accedemos a la ventana de edición, en este ejemplo el "**comando test**" ejemplo podemos ver las opciones de edición, donde podemos definir las variables del script a ejecutar, en este ejemplo:

```bash
#Se cambia al directorio user y se pasan dos parámetros
cd /user @1 @1 
```

![oggui-acciones_comando-edicion.png](../../assets/images/screenshots/oggui-acciones_comando-edicion.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

!!! warning "Advertencia"
    La ejecución de comandos otorga permisos de administrador sobre la máquina remota, por lo que el acceso a esta característica debe estar controlado para prevenir abusos y riesgos de seguridad.

### Administrar Tareas

La siguiente abstracción respecto a las acciones, son las tareas. Las tareas son secuencias de comandos que se pueden ejecutar al instante, o bien programarlas.

![oggui-acciones_tareas-crear.png](../../assets/images/screenshots/oggui-acciones_tareas-crear.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

Una vez elegimos programarla, accedemos a un menú que nos permite configurarla para ejecutarla una sola vez o de forma recurrente según una programación establecida

![oggui-acciones_tareas-programa.png](../../assets/images/screenshots/oggui-acciones_tareas-programa.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

La tarea que hemos creado, aparece en la lista de Tareas, donde se ve activo el **Reloj** de programación, podemos acceder al menú de selección del script que se quiere ejecutar **< >** o bien, pulsando en "Acciones" podemos acceder a los comandos que se ejecutarán en esta Tarea

![oggui-acciones_tareas-anadir.png](../../assets/images/screenshots/oggui-acciones_tareas-anadir.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

Si pulsamos el botón **acciones**, veremos los scripts que se ejecutarán y el orden en el que lo harán

![oggui-acciones_tareas-acciones.png](../../assets/images/screenshots/oggui-acciones_tareas-acciones.png){ style="display: block; margin: 20px auto; max-width: min(1024px, 100%); height: auto;" }

!!! success "Lo que hemos aprendido"
    Hemos adquirido una visión global de la gestión de Acciones, donde hemos cubierto los siguientes aspectos:
    
    - Crear, editar y eliminar comandos/scripts
    - Crear, editar y eliminar tareas
    - Programar tareas para ejecución única o recurrente
    - Editar tareas para añadir, quitar o reordenar los comandos/scripts que compondrán la tarea


