Primeiro, esse comando localizará e excluirá todos os arquivos com mais de 7 dias em qualquer subdiretório em /home
cujo nome comece com securityuser
:
find '/home/securityuser*' -mtime +6 -type f -delete
Você precisa de -mtime +6
e não +7
porque -mtime
conta 24 horas. Conforme explicado na seção -atime
de man find
( -mtime
funciona da mesma maneira):
-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.
Então, para encontrar um arquivo que foi modificado há 7 ou mais dias, você precisa encontrar arquivos que foram modificados há mais de 6 dias, portanto -mtime +6
.
O próximo passo é fazer com que este comando seja executado uma vez por dia. Como cada securityuserN
é um usuário diferente (você pode querer repensar essa configuração, isso torna tudo mais complicado), isso deve ser executado como root. Então, edite /etc/crontab
:
sudo nano /etc/crontab
E adicione esta linha:
@daily root find '/home/securityuser*' -mtime +6 -type f -delete
Isso executará o comando find
uma vez por dia e excluirá os arquivos.