Hace unos días publicaba un artículo sobre cómo activar la papelera de reciclaje en el servicio Samba. Así todos aquellos archivos que se hayan borrados podrán ser recuperados de forma simple sin tener que recurrir al backup por un delete mal pensado.
El primer post realmente fue bastante rápido, la intención era introducir la facility. Ya en este vamos a explicar más en detalle todos los parámetros que existe y se le pueden pasar y lo qué significa cada uno. También tenemos pendiente la creación de un pequeño script que se encargue de purgar los archivos más viejos de la papelera, para evitar que se nos llene. Vamos por partes.
Las opciones:
Las opciones:
- recycle:repositorypath de la carpeta que ejercerá de papelera de reciclaje. Si no es especifica nada, por defecto es .recycle.
- recycle:directory_modeIndica los permisos que tendrá la carpeta de reciclaje cuando se cree por primera vez. El valor por defecto es 0700.
- recycle:subdir_mode
Lo mismo que el anterior, pero para los subdirectorios. - recycle:keeptreeEstablece si cuando se elimina un archivo dentro de subdirectorios dicho árbol se mantendrá o no.
- recycle:versionsIndica si se mantendrán las versiones de los ficheros. Si se eliminan dos ficheros con el mismo nombre y dicha opción no está habilitada sólo permanecerá el último. Si está, se creará una copia con el nombre "Copy #x of filename".
- recycle:touchEspecifica si la fecha de modificación de un archivo debe ser actualizada cuando éste se mueve a la papelera.
- recycle:excludeIndica las extensiones de los archivos que serán excluidos de ser enviados a la papelera. Se nombrarán con *.ext y se separarán por |.
- recycle:excludedir
Hace exactamente lo mismo, pero con nombres de directorios. - recycle:noversionsSi la opción versions está activa a nivel general, se puede desactivar para una seria de extensiones que se especificarán aquí.
- recycle:minsizeEstablece el tamaño mínimo de los archivos que serán enviados a la papelera. Si son de menor tamaño se borran directamente.El tamaño se indica en bytes.
- recycle:maxsizeEstablece el tamaño máximo de los archivos que serán enviados a la papelera. Si este tamaño es excedido, se borrarán directamente.Con en la opción anterior, el tamaño viene dado en bytes.
[global] recycle:repository = /srv/Trash recycle:versions = TRUE recycle:keeptree = TRUE recycle:touch = FALSE recycle:exclude = *.tmp | *.o | ~$* | *.~?? | *.log recycle:excludedir = /tmp | /cache recycle:noversions = *.dat | *.ini recycle:minsize = 512 recycle:maxsize = 51200
Y ahora vamos por la parte que nos falta, que no es otra que borrar aquellos archivos que llevan más de #x días en la papelera, para evitar que ésta aumente de tamaño indefinidamente. Aunque puedes compartir la papelera con los usuarios de Samba/ldap como una carpeta más y que sean ellos quien lo gestionen, quizás la opción de borrar los archivos mayores de 30 días automáticamente no esté demás. Para hacerlo, podemos recurrir a cron y emplear find. Dejando una línea tal que así en nuestro /etc/crontab.
30 2 * * * root find /srv/Trash/* -mtime +30 -exec rm {} \;
Todos los días a las 2:30 de la mañana se ejecutará y eliminará aquellos archivos mayores de 30 días, haciendo así que la papelera no aumente de tamaño de forma descontrolada.
La entrada Opciones de recycle en Samba la puedes leer en Puppet Linux.
No hay comentarios :
Publicar un comentario