A veces me encuentro con la necesidad de poder poner alguna fecha de expiración a determinados archivos, de forma que se borren automáticamente una vez expirados, pero esto en Linux no es posible, al menos de manera sencilla. He visto varias cosillas, como por ejemplo http://sourceforge.net/projects/sefs pero no me quiero enredar tanto.
Los atributos de un archivo (mtime, atime y ctime) no contienen la fecha de creación, que es lo que me interesa, no la fecha de modificación por ejemplo. Quiero borrar un archivo al cabo de, por ejemplo, un mes, independientemente de cuándo se accedió/modificó por última vez.
Me he hecho un pequeño programa en python al cual le pasas el directorio a cuyos archivos les quieres poner una fecha de expiración, entre otros parámetros. El programa, con una breve descripción de uso, lo podéis encontrar aquí: https://github.com/mgutierrezp/checkExpiredFiles

A modo de ejemplo:

hará un scan del directorio /usr/local/myFiles/shared y guardará los meta-datos correspondientes en /var/shareDB, y registrará cada archivo con una caducidad de 20 días (a las 22.00).
Después, con una tarea de cron diaria, ejecutamos esto:

y como no hemos especificado caducidad, para los archivos nuevos que encuentre les pondrá una expiración de 30 días (a las 22.00)

¡¡ Usar bajo vuestra responsabilidad !!

Archivos con fecha de expiración

Deja un comentario

Tu dirección de correo electrónico no será publicada.