Ejercicio 1
Crea un script llamado logger.sh que mostrará en pantalla una línea compuesta por una serie de campos separados por el caracter «:» con la siguiente información
- Fecha actual: Formato yymmdd
- Hora actual: Formato hhmmss
- Nombre de la aplicación, programa o script que se está ejecutando: Lo podemos obtener de una variable especial de bash.
- Mensaje específico.
El único dato que nosotros podemos seleccionar es el mensaje que aparecerá en el campo mensaje específico. El mensaje específico se proporcionará en el primer parámetro del script o, si lo deseas, estará compuesto por todos los parámetros del script.
Debes crear una función llamada logMe que muestre en pantalla la línea con la información en campos cómo se ha descrito. Esta función recibirá en un único parámetro ($1) el mensaje a mostrar.
Solución

Ejercicio 2
Crea una copia del script logger.sh en el directorio /usr/bin con el nombre logger y permite que solo root pueda ejecutarlo y leerlo. El resto de usuarios no podrá hacer nada con él.
Comprueba que funciona y puedes invocar el script como root.
Solución


Ejercicio 3
Crea un script llamado showLoggedUsers.sh que muestre el nombre de los usuarios que tienen una sesión abierta en el sistema. Tan solo se mostrará el nombre del usuario.
Soluciones…

Ejercicio 4
Copia el script showLoggedUsers.sh con el nombre showProcess.sh. Este script obtendrá el listado de usuarios conectados y, en lugar de mostrarlos en pantalla, mostrará para cada usuario el número de procesos que está ejecutando en el sistema. Todo ello lo mostrará en una sola línea, con el siguiente formato:
«<usuario> procesos en ejecución <número> procesos.»
Soluciones

Ejercicio 5
Programa el sistema para que almacene el listado de usuarios que tienen una sesión abierta en el fichero /etc/educatica/loggedUsers.log. Si el directorio no existe, créalo antes de ponerte a con el script.
La información se añadirá al fichero /etc/educatica/loggedUsers.log si este existe.
Queremos que almacene la información todos los días a cada hora.
Para llevar a cabo esta tarea tendrás que utilizar el script showLoggedUsers.sh. Para facilitar su uso, crea una copia de este script en /usr/bin con el nombre showLoggedUsers. Este script en /usr/bin/showLoggedUsers tan solo podrá ser utilizado y gestionado por root. El resto de usuarios del sistema no podrá realizar ninguna operación.
Solución



Vamos a probar a ejecutar el script desde /usr/bin, como está en el PATH podremos escribir tan solo el nombre del ejecutable: showLoogedUsers.

Ahora tenemos que programar la ejecución de la tarea..

Ejercicio 6
Programa el sistema para que almacene el listado de usuarios que tienen una sesión abierta junto con el número de procesos en ejecución en el fichero /etc/educatica/usersProcess.log. Si el directorio no existe, créalo antes de ponerte a con el script.
La información se añadirá al fichero /etc/educatica/usersProcess.log si este existe.
Queremos que almacene la información todos los días a cada hora.
Para llevar a cabo esta tarea tendrás que utilizar el script showProcess.sh. Para facilitar su uso, crea una copia de este script en /usr/bin con el nombre showProcess.sh. Este script en /usr/bin/showProcess.sh tan solo podrá ser utilizado y gestionado por root. El resto de usuarios del sistema no podrá realizar ninguna operación.
Solución
Ejercicio 7
Configura el sistema para que los scripts se ejecuten cada cinco minutos de 8 a 22 de lunes a sábado.
Vamos a investigar primero cómo ejecutamos cada cinco minutos.
Dejo una porción de la página de manual de crontab sección 5 (ficheros de configuración)
man 5 crontab

Por tanto, si queremos que se ejecute un script cada cinco minutos podemos utilizar la siguiente configuración.

Ahora queda la segunda parte de lunes a sabado de 8 de la mañana a 10 de la noche.

Dejar una respuesta