Usando find :
find ~/tmp -type f -mtime +0 -delete
-
~/tmpé o diretório a ser pesquisado recursivamente, altere isso de acordo -
-type fprocurará apenas arquivos -
-mtime +0, que corresponderá a um arquivo se ele foi modificado pela última vez há um dia ou mais -
-deleteapenas removerá o (s) arquivo (s) correspondente (s)
Aqui, a captura é -mtime +0 , a maioria pode pensar em usar -mtime +1 , mas find ignorará qualquer tempo fracionário durante o cálculo de dias. Portanto, -mtime +1 corresponderá a um arquivo se a última modificação tiver sido feita há pelo menos dois dias.
Citar man find , -mtime tem a mesma convenção de tempo que -atime :
-atime n
O arquivo foi acessado pela última vez n * 24 horas atrás. Quando descobrir descobre como muitos períodos de 24 horas atrás, o arquivo foi acessado pela última vez, A parte fracionária é ignorada, então, para corresponder a -atime +1, um arquivo deve ter sido acessado há pelo menos dois dias.
Observe também que, se você deseja precisão, deve olhar a opção -mmin de find para indicar o tempo em minutos.
Para executá-lo periodicamente após 3 horas, você pode adicionar uma entrada cron .
Execute crontab -e e adicione:
00 */3 * * * /usr/bin/find ~/tmp -type f -mtime +0 -delete
Usando zsh para remover os arquivos:
rm ~/tmp/**/*(.-m+0)
Adicionando a cron :
00 */3 * * * /usr/bin/zsh -c 'rm ~/tmp/**/*(.-m+0)'