ELO-330: Programación de Sistemas
Tarea 1: Detectando Cambios en Subárbol
La idea es que su grupo ejercite
la programación shell. Trate de cada integrante de su grupo resuelva
esta tarea separadamente y luego se juntan a comentar sus soluciones o
ideas sobre cómo abordar cada problema. Este camino conduce a
un mayor aprendizaje individual y mejor solución grupal.
Objetivos: aplicar programación shell.
Contexto: Hay varias tareas administrativas regulares que requieren
procesos largos. Por ejemplo, el directorio en que una empresa aloja su
página web puede ser vulnerado para alojar en él para obtener datos
personaes de usuarios de un banco. Un ejemplo de esto se puede ver en esta imagen. ¿Cómo podemos saber qué
un sitio web ha sido alterado sin nuestro conocimiento?
Ejercicio 1: Resumen de un directorio
Nombre: ds: Directory Summary
Sintaxis: ds [dir]
Descripción:
ds envía a su salida estándar la información del estado para cada
archivo del directorio dado como argumento. Si éste es omitido, ds
trabaja sobre el direcotrio actual. Como salida se muestra (una línea
por archivo):
<Nombre del archivo> <fecha de última modificación>
:
:
Ejercicio 2: Resumen de un subárbol
Nombre: sts: Subtree Summary
Sintaxis: sts [dir]
Descripción: sts envía hacia la salida estándar la
información de estado de cada archivo del subárbol definido por el
directorio dado como argumento. Si éste es omitido, sts trabaja sobre
el directorio actual. Como salida, para cada archivo del subárbol se muestra:
<ruta completa para el archivo> < fecha de última modificación>
:
:
Ejercicio 3: Detección de cambio en subárbol
Nombre: stcd: subtree chage detection
Sintaxis: stcd <ref_file> [dir]
Descripción:
stcd recibe como parámetro un archivo con el formato de salida de sts y
un directorio sobre el cual stcd genera el resumen del subárbol y lo
compara con el archivo de referencia dado. Si no hay diferencia, envía
a salida estándar el mensaje "No hay cambio". Si hay diferencia, este
script muestra por la salida estándar los cambios detectados. Hay
cambio si un archivo es borrado o agregado en el subárbol. También hay
un cambio si un archivo cambia su fecha de última modificación.
Evaluación de la Tarea y
qué entregar:
La tarea será revisada en aragorn.elo.utfsm.cl Confirme que su
solución corre bien allí.
La evaluación de esta tarea será según:
70% Que cada script cumpla plenamente lo pedido.
30% Documentación. Ésta
debe incluir sus scripts y un archivo readme.txt. Enviar la tarea vía
correo a cuenta gmail elo330 punto utfsm (usted debe descubrir el correo con
estos datos). En archivo readme.txt incluir descripción simple de la
estrategia usada para cada script, explicar cómo descomprimir su solución, cómo
preparar cada script para su ejecución y cómo correrlos. Indicar
además casos en que el script pudiera fallar; por ejemplo, cuando el directorio dado domo argumento no existe.
Penalización por atraso: 5 puntos por día o fracción.
OBS: En caso que la tarea no esté
especificada (clara) completamente, plantee
la situación al profesor. Aquí se publicarán las aclaraciones
necesarias.
Ayuda:
- Estudie los ejemplos de programación shell vistos
en clases.
- Revise el uso del comando stat
- Trabaje con tiempo, será muy grato para mi atender sus
consultar y ayudar en su solución de esta tarea.