Centro de Informática. Sistemas Operativos II. Curso 2002

Prueba parcial 2/2

1. El correo de los usuarios se guarda en el directorio /var/mail, en archivos con el nombre de login de cada usuario.
Se desea un script
monimail.sh que monitoree estos archivos, realizando lo siguiente:
a) si el usuario fue borrado, pero quedó su archivo de correo, listar estos usuarios.

b) si el operador invocó el programa sin parámetros, acá termina.
c) si el operador dio un parámetro no numérico, avisa el error y termina.

d) si el operador da como parámetro un número, listar los usuarios que hace más de este número de días que no lee su correo, es decir, que el archivo con su nombre en /var/mail no ha sido accedido. Sugerencia: usar comando
find.
(14 puntos)

2. Los creadores del programa maravil necesitan un script de instalación, llamado instalar.sh. Debe realizar estas tareas:
1) presentar como pantalla de bienvenida el archivo bienvenida.txt, que ocupa menos de una pantalla; el usuario deberá digitar Enter para continuar. (2p)
2) presentar una pantalla con la licencia, el archivo licencia.txt, también menor de una pantalla; el usuario deberá digitar la tecla S para aceptar la licencia, si no la acepta el programa avisa y termina con código de error 1. (4p)
3) inicializar una variable DIRINSTAL con el nombre del directorio de instalación por defecto, /usr/local/maravil. (2p)
4) preguntar al usuario el directorio de instalación, mostrando el nombre sugerido (variable DIRINSTAL); el usuario podrá digitar un nombre de directorio o Enter para aceptar el directorio sugerido. En cualquier caso, el nombre del directorio de instalación deberá quedar en la variable DIRINSTAL.(6p)
5) verificar si existe ya el directorio de instalación; es así, continúa la instalación, y si no, deberá pedir autorización al usuario, crearlo y verificar la creación exitosa. Si el usuario no autoriza la creación del directorio, el programa termina con error 2; si no se pudo crear el directorio el programa termina con error 3. En todos los casos se informa lo realizado.(10p)
6) copiar los archivos maravil.py, LEAME y manual.txt hacia el directorio de instalación.  Si la copia no da error, se informa la terminacion exitosa de la instalación; en otro caso, se informa el error y se borra el directorio de instalación y todo su contenido. (4p)
(28 puntos)

3.  Se desea saber qué páginas de un servidor web son más accedidas. El archivo /var/log/apache/access.log contiene líneas del siguiente formato:

127.0.0.1 - - [25/Jul/2002:20:21:51 -0300] "GET /fabmelo/version7/modif_clave.php?nombre=pa232&clave=madrid HTTP/1.1" 200 1609
127.0.0.1 - - [25/Jul/2002:20:21:58 -0300] "POST /fabmelo/version7/menu.php HTTP/1.1" 200 1012
127.0.0.1 - - [25/Jul/2002:20:22:00 -0300] "GET /fabmelo/version7/presupuestos2.php?nombre=pa232&clave=belice HTTP/1.1" 200 642

Los accesos contienen la palabra GET, los nombres de las páginas terminan en espacio o en "?". Listar los nombres de páginas de las 20 más accedidas. (12 puntos).

Total prueba: 54 puntos.