En el mundo de la administración de sistemas y el desarrollo, los scripts para Linux son herramientas esenciales que permiten automatizar tareas repetitivas, mejorar la eficiencia y reducir errores humanos. Un script no es más que un archivo de texto que contiene una serie de comandos que el sistema puede ejecutar de forma secuencial. Veremos cómo crear scripts en Linux paso a paso. Aunque existen muchos lenguajes de scripting, el más común en entornos Linux es Bash (Bourne Again SHell).
¿Por qué usar scripts?
- Automatización: Desde copias de seguridad hasta actualizaciones del sistema.
- Eficiencia: Ejecutar múltiples comandos con un solo archivo.
- Repetibilidad: Asegura que las tareas se realicen de la misma manera cada vez.
- Escalabilidad: Ideal para administrar múltiples servidores o entornos.
¿Cómo crear un archivo .sh?
- Abre una terminal.
- Crea el archivo con un editor de texto, por ejemplo:
nano mi_script.sh
- Escribe tu script dentro del archivo. Por ejemplo:
#!/bin/bash
echo "Hola, mundo"
- Guarda y cierra el archivo (en nano, presiona
Ctrl + O, luegoEnter, yCtrl + X). - Haz el archivo ejecutable:
chmod +x mi_script.sh
- Ejecuta el script:
./mi_script.sh
Ejemplos Practicos
Script de copia de seguridad
Este script crea una copia comprimida (formato .tar.gz) de la carpeta de documentos del usuario, guardándola en una carpeta de backups con la fecha actual en el nombre del archivo. Es útil para automatizar respaldos diarios o semanales.
#!/bin/bash
# backup.sh - Realiza una copia de seguridad de una carpeta
FECHA=$(date +%Y-%m-%d)
ORIGEN="/home/usuario/documentos"
DESTINO="/home/usuario/backups/backup-$FECHA.tar.gz"
tar -czf $DESTINO $ORIGEN
echo "Copia de seguridad creada en $DESTINO"
Monitor de uso de disco
Este script revisa el porcentaje de uso del disco raíz (/). Si supera el 90%, muestra una advertencia. Ideal para prevenir problemas por falta de espacio en servidores o equipos de producción.
#!/bin/bash
# disk_monitor.sh - Alerta si el uso del disco supera el 90%
USO=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $USO -gt 90 ]; then
echo "¡Advertencia! El uso del disco ha superado el 90%."
fi
Actualización automática del sistema
Ejecuta los comandos necesarios para actualizar el sistema en distribuciones basadas en Debian (como Ubuntu). Es útil para mantener el sistema al día sin tener que escribir los comandos manualmente cada vez.
#!/bin/bash
echo "Actualizando el sistema..."
sudo apt update && sudo apt upgrade -y
echo "Actualización completada."
Renombrar archivos en lote
Este script recorre todos los archivos .jpg en el directorio actual y los renombra secuencialmente como imagen_1.jpg, imagen_2.jpg, etc. Muy útil para organizar fotos o imágenes descargadas.
#!/bin/bash
i=1
for archivo in *.jpg; do
mv "$archivo" "imagen_$i.jpg"
((i++))
done
echo "Archivos renombrados."
Comprobar si un servicio está activo
Verifica si un servicio (como Apache) está en ejecución. Puedes cambiar el nombre del servicio por cualquier otro, como mysql, nginx, etc. Ideal para monitoreo básico de servicios.
#!/bin/bash
SERVICIO="apache2"
if systemctl is-active --quiet $SERVICIO; then
echo "El servicio $SERVICIO está activo."
else
echo "El servicio $SERVICIO no está activo."
fi
Enviar un mensaje de bienvenida al iniciar sesión
Muestra un mensaje personalizado con el nombre del usuario y la fecha actual. Puedes añadir este script al archivo .bashrc para que se ejecute automáticamente al abrir una terminal.
#!/bin/bash
echo "¡Bienvenido, $USER! Hoy es $(date). Que tengas un gran día."
Conclusión
Los scripts en Linux son una herramienta poderosa que todo usuario intermedio o avanzado debería dominar. No solo ahorran tiempo, sino que también permiten mantener sistemas más seguros y eficientes. Si estás comenzando, prueba a automatizar pequeñas tareas diarias y verás cómo tu flujo de trabajo mejora notablemente.
Si tienes dudas, sugerencias o quieres compartir tus propios scripts, ¡nos encantaría leerte!
Déjanos un comentario abajo o escríbenos a través de nuestro formulario de contacto —estamos aquí para ayudarte y seguir aprendiendo juntos.


