Ejecutar varios scripts desde un script bash

Ejecutar varios scripts desde un script bash.

En este articulo veremos como ejecutar varios scripts desde un único script bash, y tal vez pienses que es una tontería, que se pone todo el código en uno y listo.

Te equivocas, ya sabemos que funcionaría de igual forma pero no es lo mismo. Al separarlos mantenemos un orden, y si las operaciones que van a realizar los scrips son pesadas, mucho mejor que estén separados.

Como ejemplo realizaremos tareas sencillas, limpiaremos el sistema y vaciaremos la swap. Vemos como crear los scripts.

 

Ejecutar varios scripts desde un script bash

Para nuestro ejemplo necesitamos cuatro scripts que detallamos a continuación:

  1. limpieza.sh – Ejecuta los scripts (con control de tiempo).
  2. swap1.sh – Deshabilitar la swap.
  3. limpiar.sh – Limpia el sistema (pagecache, dentries e inodos).
  4. swap2.sh – Habilitar la swap.

Comenzamos…

Primero creamos el script que deshabilita la swap.

nano swap1.sh

Copia y pega lo siguiente:

#!/bin/bash
swapoff -a
echo "<---------------------------------------------------------->"

Guarda el archivo y cierra el editor.

 

Ahora creamos el script que nos limpiara el sistema (pagecache, dentries e inodos).

nano limpiar.sh

Copia y pega lo siguiente:

#!/bin/bash
sync;sysctl -w vm.drop_caches=3;sync
echo "<---------------------------------------------------------->"

Guarda el archivo y cierra el editor.

 

Habilitamos la swap.

nano swap2.sh

Copia y pega lo siguiente:

#!/bin/bash
swapon -a
echo "<---------------------------------------------------------->"

Guarda el archivo y cierra el editor.

 

Solo nos queda crear el script que con control de tiempo ejecutara los scripts anteriores concatenandolos.

nano limpieza.sh

Copia y pega lo siguiente:

#!/bin/bash

echo "Este script limpia tu sistema y la swap"
echo "<---------------------------------------------------------->"

# Ejecuta swap1.sh
sleep 1s; echo "Deshabilitando Swap"
source swap1.sh

# Ejecuta limpiar.sh
sleep 5s; echo "Limpiando el sistema"
source limpiar.sh

# Ejecuta swap2.sh
sleep 5s; echo "Habilitando la swap"
source swap2.sh

Guarda el archivo y cierra el editor.

 

Lo podemos ejecutar con:

bash limpieza.sh

También le podemos conceder permisos.

chmod u+x limpieza.sh

Ejecutamos.

./limpieza.sh

ejemplo de salida…

Ejecutar script bash de limpieza

Ejecutar script bash de limpieza

 

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. 

 

Agregar comentario