Da página de manual de find
:
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-mtime n
File's data was last modified n*24 hours ago. See the comments for
-atime to understand how rounding affects the interpretation of
file modification times.
-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, -mtime +5
encontrará esses arquivos modificados pela última vez mais de 5 * 24 horas atrás e -mtime -5
encontrará esses arquivos modificados pela última vez menos de 5 * 24 horas atrás . Para excluir arquivos com mais de 5 dias 1 , você faria:
find /mnt/sdb1/tmp/ -type f -mtime +5 -exec rm {} \;
Se isso não estiver retornando o resultado desejado, pode haver um problema com o registro de data e hora. É relatado corretamente para os arquivos em questão? Se esta for uma unidade USB externa, os arquivos podem ter sido criados em outra máquina e ter um timstamp diferente do que você espera.
1 Observe que a unidade aqui é um dia, 24 horas. Portanto, mais de 5 dias de vida significa pelo menos 6 dias de vida, pois o valor é sempre arredondado e as partes fracionárias são ignoradas.