Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica de laboratorio No 5
----------------
Objetivos
• Poner en práctica algunas de las herramientas aprendidas en Linux para emplearlas en realizar
automatización de procesos manuales en Linux por medio de bash.
Trabajo previo
Medios y equipos
Introducción
En esta práctica, se usará Bash como lenguaje scripts, la ventaja de los lenguajes de tipo scripting (secuencias
de comandos) es que a menudo funcionan a un nivel más alto que los lenguajes compilados, pudiendo tratarse
más fácilmente con objetos como archivos y directorios. La desventaja es que suelen ser menos eficientes que
los lenguajes compilados.
Se estará usando el Shell, debido a que es universal entre los sistemas UNIX, además, el lenguaje está
estandarizado por POSIX, los scripts de shell pueden escribirse una vez y, si se escriben con cuidado, se
podrán usar en una variedad de sistemas. Por tanto, las razones para utilizar un script de shell son:
a. Sencillez: El shell es un lenguaje de alto nivel; puedes expresar operaciones complejas usándolo de
forma clara y sencilla.
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
b. Portabilidad: Al utilizar sólo funciones especificadas por POSIX, tiene muchas posibilidades de poder
trasladar su script, sin cambios algunos, a diferentes tipos de sistemas UNIX.
c. Facilidad de desarrollo: A menudo puedes escribir un guion potente y útil en poco tiempo.
usuario@wsk-shell:~$sudo su
root@wsk-shell:/home/usuario#touch hola-mundo.sh
root@wsk-shell:/home/usuario#nano hola-mundo.sh
#!/bin/bash
echo “usted esta usando $(basename $0)” echo “hola todos”
exit 0
Para poder utilizar el script se requiere cambiar los permisos del archivo para ello se hace:
root@wsk-shell:/home/usuario#chmod +x hola-mundo.sh
root@wsk-shell:/home/usuario#./hola-mundo.sh
-1-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
Cámbiele al archivo los permisos para que sea ejecutable y edítelo con el editor de textos.
#!/bin/bash
nombre=”Verduras a la Venta”
limones=25 naranjas=50
totales=$(( limones + naranjas ))
echo $nombre #imprime el texto declarado
echo $limones #imprime la cantidad definida
echo $naranjas #imprime la cantidad definida
echo $totales #imprime la sumatoria exit 0
root@wsk-shell: /home/usuario#./sumatoria.sh
-2-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
Crea un archivo llamado nombre.sh y cámbiele los permisos para que sea ejecutable, después edítelo con el
editor de textos.
-3-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
Una vez que haya editado el archivo, se deberá escribir la siguiente secuencia de comandos:
#!/bin/bash
read -p “Puedes escribir tu nombre:? “ echo
“Hola $REPLY”
echo “Decide si cara o cruz? “ read
lado
if [ $lado = “cara” ]; then
echo “has acertado en cara” else
echo “has acertado en cruz”
fi exit 0
-4-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
Ahora, vas a aprender a automatizar los procesos rutinarios que se realizan para la instalación de unas
aplicaciones, las cuales requieren instalar una serie de prerrequisitos como sucedió en la práctica #3.
#!/bin/bash
apt update apt
upgrade apt
autoremove
echo “”
echo “Todo salio muy bien! Hasta luego”
echo “” exit
Como penúltima tarea se aprenderá a ejecutar rutinas manuales de manera automática o semi automática, Se
va a hacer un ping a un servidor, para ello cree un archivo llamado enviar-ping.sh
-5-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
#!/bin/bash
read -p “Digite el numero del servidor a hacer ping” server_addr ping -c 5 $
server_addr 2>1 /dev/null || echo “Servidor caido” echo “”
exit
Quinta asignación práctica: conociendo cron y crontab para repetibilidad de tareas en Linux
La configuración y sincronización horaria en Linux, y en cualquier sistema operativo, es parte fundamental para
que algunos servicios y procesos basados en los parámetros de la hora (hora, minutos o segundos) puedan
trabajar correctamente, por ello, una pequeña desconfiguración de estos causará errores que pueden hacer
funcionar erráticamente a algunos programas sin saber la causa raíz de dicho error. La configuración de zona
horaria ayuda a no estar fuera de rangos cuando se cambia la ubicación geográfica de las personas.
root@wsk-shell: /home/usuario#timedatectl
Si Linux no tiene la misma hora local, significa que tiene declarada una zona horaria distinta, eso se puede
ajustar, para ello será conocer todas las zonas horarias disponibles y la sintaxis de estas, para ello se hace uso
del siguiente comando:
-6-
Guía de laboratorio #5 – Introducción al uso de shell scripts en Linux
Para establecer una nueva zona horaria se debe realizar el siguiente comando:
root@wsk-shell: /home/usuario#timedatectl set-timezone America/Managua
Ahora que se tiene prepara las condiciones para poder ejecutar correctamente una tarea repetitiva se procede a
conocer a cron,
-7-
i