ELO-330: Programación de Sistemas
Tarea 1: rm con Respaldo y Ahorro de Espacio en Disco
La idea es que su grupo ejercite la programación shell. Trate
de cada integrante de su grupo resuelva el problema separadamente y
luego se juntan a comentar sus soluciones o ideas sobre cómo abordar el
problema. El trabajo de ambos debería conducir a un mayor aprendizaje
individual y mejor solución grupal.
Objetivos: aplicar programación shell.
Ejercicio 1: Su grupo deberá reparar el script (guión dicen algunos) delete.sh.
Su propósito es reemplazar el uso de "rm" (remove) que borra y no da
opción de recuperar lo borrado. Con delete.sh el archivo será puedo en
un directorio especial y será borrado luego de 3 días o cuando la
máquina sea re-iniciada.
Hay 10 errores incrustados en este script, su tarea es identificarlos y
corregirlos. La descripción de su reparación debe seguir el
siguiente formato:
Los errores eran:
1) Línea 3: El problema es ..... La corrección fue ...
2) Línea 5: .....
Ejercicio 2: Ahorrando espacio en disco.
Nombre: sde: Save Disk Space utilitario para ahorrar
espacio borrando archivos *.o , *.class y comprimiendo directorios sin
actividad por un tiempo dado.
Sintaxis: sde [directorio] [n]
n: es un número entero y corresponde al número de minutos (puede ser
días pero minutos le será más fácil probar) pasados los cuales, si no se
ha accedido a algún archivo de un subdirectorio, los archivos de éste
son comprimido por el script.
Descripción
Sin argumentos se debe entender
directorio actual y n=1. Si hay sólo un argumento, éste debe ser el
directorio al cual se desea hacer el análisis. sde actúa sólo sobre
archivos regulares, es decir si en un subdirectorio bajo el argumento
"directorio" tiene sólo archivos sin ser accedidos, entonces se procede
a borrar aquellos con extensión .o o .class y si quedan algunos, éstos
son reemplazados por uno del tipo .tar.gz (archivo tar y luego
comprimido con gzip).
Evaluación de la Tarea y
qué entregar:
20% Ejercicio 1.
50% su programa del ejercicio 2 cumple plenamente con la especificación o
requerimientos de la tarea.
30%
Documentación. En esta tarea su(s) programa(s) scripts deben
venir
bien
documentados, además incorpore un readme explicando los archivos
que
constituyen su solución y cómo se deben ejecutar. En
archivo
documentación (txt o html) explique a grandes rasgos el
algoritmo o
estrategia usada en ejercicio 2 para cumplir con lo pedido. El buen
cumplimiento del procedimiento de entrega
es considerado parte de la documentación.
La tarea será revisada en computador del profesor. Confirme que su solución corre bien allí.
OBS: En caso que la tarea no esté especificada 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 comando find, en particular sus opciones -amin y -maxdepth
- Trabaje con tiempo, será muy grato para mi atender sus consultar y ayudar en su logro de esta tarea.