Isso deve ser feito, testei isso com *.txt
, mas você pode alterá-lo para todos os arquivos usando *.*
:
#!/bin/bash
cd /usr/local/my_logs
find ./*.txt -type f -mmin +5 -exec rm {} \;
existe um script de shell que exclui todos os arquivos em uma pasta com mais de x minutos?
Isso será executado para sempre, excluirá arquivos modificados mais de três minutos antes de cada iteração e aguardará um minuto antes de fazer isso novamente:
while true
do
find -type f -mmin +3 -delete
sleep 60
done
Você pode adicionar -maxdepth 1
se não quiser que seja recursivo.
Eu uso um script como este para excluir backups com mais de 30 dias:
find "/backups/mysql/" -type f -mtime +30 -print0 | xargs -0 rm -f
Com base nisso, acho que você poderia fazer algo semelhante:
find "/yourDir/" -type f -mmin +10 -print0 | xargs -0 rm -f
Acho que isso aconteceria mais de 10 minutos
Tags bash shell ubuntu ubuntu-server