Nos gustaría poder contar con una herramienta que proporcionara información al administrador de sistema sobre los usuarios que están en un momento dado logueados en el sistema y los procesos que están ejecutando.
Esta herramienta, cuando se ejecute, deberá obtener un listado de usuarios conectados en el sistema con su nombre de usuario.
Una vez con la lista, recorrerá la lista y obtendrá información sobre los procesos que están en ejecución por cada uno de los usuarios con sesión iniciada.
Esta información es demasiado grande para que pueda ser consumida de forma efectiva por el administrador, así que hemos decidido almacenarla en ficheros para facilitar su análisis con calma posteriormente.
Vamos a almacenar esta información en el directorio /educatica/users/process Cada vez que se ejecute el script, se almacenará información en una serie de ficheros dentro del directorio /educatica/users/process que se dan a continuación:
- users.log. Añadirá la lista de usuarios logueados en el sistema en el momento de ejecutar.
- processList.log. Añadirá la lista de procesos en ejecución en el sistema
- <nombreUsuario>process.log. Para cada usuario almacenará la información de procesos en ejecución en el sistema para ese usuario concreto.
Vamos a crear un script llamado checkProcess.sh que lleva a cabo las tareas solicitadas. El script deberá realizar control de errores para evitar problemas en tiempo de ejecución en la medida de lo posible.
Pistas

Sin cabecera

Veamos

man tr

El comando tr en general y con la opción -s lo vamos a utilizar mucho cuando tengamos que obtener campos concretos de la salida de algún comando.
Dejar una respuesta