Primero, este comando buscará y eliminará todos los archivos anteriores a 7 días en cualquier subdirectorio /home
cuyo nombre comience con securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
Necesita -mtime +6
y no +7
porque -mtime
cuenta períodos de 24h. Como se explica en la -atime
sección de man find
( -mtime
funciona de la misma manera):
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
Por lo tanto, para encontrar un archivo que se modificó hace 7 o más días, debe buscar archivos que se modificaron hace más de 6 días, por lo tanto -mtime +6
.
El siguiente paso es ejecutar este comando una vez al día. Dado que cada uno securityuserN
es un usuario diferente (es posible que desee repensar esa configuración, hace que todo sea más complicado), esto debe ejecutarse como root. Entonces, edita /etc/crontab
:
sudo nano /etc/crontab
Y agregue esta línea:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Eso ejecutará el find
comando una vez al día y eliminará los archivos.
/home
generalmente contiene una subcarpeta para cada usuario. Si no desea almacenar las copias de seguridad como los diferentes usuarios (no muy buena idea), se debe considerar otra ubicación, por ejemplo,/home/security/backup1
y así sucesivamente.