Esta semana me pidieron algo curioso. El departamento de móviles me pidió borrar el contenido de todos los archivos de un directorio sin eliminar los archivos cada hora. Mi primera reacción fue usar uno de los scripts que he publicado anteriormente, ese script que usaba find para listar los 10 archivos mas grandes de un directorio y pensé que simplemente debía de modificar el ls por un echo > es decir modificar:

find /servicios/wap/ -type f -exec ls -ls {} \;

Para que quedara así:

find /servicios/wap/ -type f -exec echo >{ } \;

El detalle es que find considera que el '>' forma parte de el y me termina creando un archivo de nombre {} en el directorio sin blanquearme los archivos. La alternativa que termine usando fue dd y quedo así al final:

find /servicios/wap/ -type f -exec dd if=/dev/null of={} \;

Con su respectiva entrada en el crontab para que se ejecute cada hora. La entrada luce algo como esto:

* */1 * * * wireless /op/wap/scripts/wap_cleaner.sh

No hice algo mas elaborado por que esto es una solución temporal mientras se implementan otras aplicaciones.



Comments

comments powered by Disqus