BASH
Alumno: Leonardo Salazar López Asignatura: Tecnologias Emergentes
Matricula: 20130278 Profesor: Dagoberto Rodriguez Rendón
Que es
Bash (Bourne-Again Shell) es un
intérprete de comandos de Unix. Este
lee los comandos del shell e
interactúa con el sistema operativo
para ejecutarlos.
Cuando escribes bash en un editor de
texto, estás compilando comandos
bash o funciones bash, los cuales son
un conjunto de comandos que pueden
ser llamados numerosas veces tan
solo usando el nombre de la función.
Es un macroprocesador que utiliza comandos
Shell
para interactuar con el sistema operativo. Esto
significa que puede recuperar, procesar y
almacenar información en un ordenador.
Scripting
Es el proceso de compilar comandos del shell en un
nuevo archivo utilizando un editor de texto.
Ventajas
Comandos bien estructurados.
Estructura los comandos en una
secuencia para que cada vez que
ejecutes el script, se ejecute en el
orden correcto.
Transparencia. La gente puede
comprobar el contenido de un
script ya que está en un archivo
de texto legible.
Ejemplos
y
Usos
Script de Backup Automatizado
#!/bin/bash
SOURCE_DIR="/ruta/a/tus/archivos" # Directorio a respaldar
BACKUP_DIR="/ruta/a/la/carpeta/de/copias" # Directorio de copias de
seguridad
# Crear una carpeta de copias de seguridad si no existe
mkdir -p "$BACKUP_DIR"
# Generar un nombre de archivo único para la copia de seguridad
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="$BACKUP_DIR/backup_$[Link]"
# Crear la copia de seguridad
tar czf "$BACKUP_FILE" "$SOURCE_DIR"
echo "Copia de seguridad creada en $BACKUP_FILE"
Script de Monitorizacion de uso de recursos
#!/bin/bash
THRESHOLD_CPU=80 # Umbral de uso de CPU en porcentaje
THRESHOLD_MEM=90 # Umbral de uso de memoria en porcentaje
#Obtener el uso actual de CPU y memoria
CPU_USAGE=$(top -b -n 1 | grep "Cpu(s)" | awk '{print $2}')
MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100}')
# Comprobar si se superan los umbrales
if (( $(echo "$CPU_USAGE > $THRESHOLD_CPU" | bc -l) ));
then
echo "Alerta: Uso alto de CPU ($CPU_USAGE%)"
fi
if (( $(echo "$MEM_USAGE > $THRESHOLD_MEM" | bc -l) ));
then
echo "Alerta: Uso alto de memoria ($MEM_USAGE%)"
fi
Automatizacion
de tareas con cron
Símbolo Descripción
* Define todos los parámetros de programación.
, Mantiene dos o más tiempos de ejecución de un solo comando.
Determina el intervalo de tiempo al configurar varios tiempos de ejecución de un solo
-
comando.
/ Crea intervalos de tiempo predeterminados en un rango específico.
Determina el último día de la semana en un mes determinado. Por ejemplo, 3L significa el
L
último miércoles.
Determina el día de la semana más cercano a un momento específico. Por ejemplo, 1W se
W
refiere al lunes si el 1 de un mes es un sábado.
Determina el día de la semana, seguido de un número del 1 al 5. Por ejemplo, 1#2 significa el
#
segundo lunes.
? Deja en blanco.
Video Resumen