Primero, este comando buscará y eliminará todos los archivos anteriores a 7 días en cualquier subdirectorio /homecuyo nombre comience con securityuser:
find /home/securityuser* -mtime +6 -type f -delete
Necesita -mtime +6y no +7porque -mtimecuenta períodos de 24h. Como se explica en la -atimesección de man find( -mtimefunciona 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 securityuserNes 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 findcomando una vez al día y eliminará los archivos.
/homegeneralmente 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/backup1y así sucesivamente.