Excluir Arq. Velhos de um Diretório ATUALIZADO!

Publicado por F 31/08/2007

[ Hits: 5.680 ]

Download limparDir.sh




O script remove, recursivamente, de um diretório, os arquivos que baterem com determinada data / tempo de criação. Basta alterar o diretório, date / tempo .. e agendar no Cron.

NOTA! o script anterior dependia do aplicativo find 4.2.28 (findutils_4.2.28 >) para o find reconhecer o %M, dentro do script.

Esse novo script pode ser usado com findutils mais antigos e novos também.

  



Esconder código-fonte

#!/bin/bash
# fabio pupo. 15/08/07
# GPL v.3
# agendar script no arquivo /etc/crontab para ser executado todos os dias.

# definir o diretorio a ser limpo:
# nao utilizar nomes como '~/'
_diretorioDia='/home/pr908236'
_diretorioMes='/home/pr908236'
_diretorioAno='/home/pr908236'

##########################################
#---------VERSAO 1.0
##########################################
#                                                                       ↓↓↓↓↓↓ substituir por, ex.: -1 week
# para dias.  troquei %M por %m e usei 'cut' por coluna -f3 -d ' ' e nao por caractere .. para ter compatibilidade com o pacote findutils 4.1.20
find $_diretorioDia -type f -printf "%m %TY-%Tm-%Td %p\n" | grep `date -d '-4 day' +%Y-%m-%d` | cut -f3 -d ' ' | xargs rm -f

# para meses.
#find $_diretorioMes -type f -printf "%m %TY-%Tm-%Td %p\n" | grep `date -d '-1 month' +%Y-%m` | cut -f3 -d ' ' #| xargs rm -f
# para anos.
#find $_diretorioAno -type f -printf "%m %TY-%Tm-%Td %p\n" | grep `date -d '-1 year' +%Y` | cut -f3 -d ' ' #| xargs rm -f

# tabela de exemplos para substituicao:
# -2 day        dois dias atras
# -1 week       uma semana atras
# -3 month      um mes atras

Scripts recomendados

Listar regras IPTABLES

SCRIPT PARA AUTOMAÇÃO NA CRIAÇÃO DE USUÁRIOS NO AMBIENTE LINUX.

Sem APTONCD (Corrigido)

Agenda telefônica em Shell Script

Gerenciamento do Usuario no SAMBA /


  

Comentários
[1] Comentário enviado por bruno.damada em 31/08/2007 - 15:58h

ou entao vc faz assim

find /diretorio -mtime +10 -exec rm {} \;

no caso do 10 significa, arquivos com mais de 10 dias...

[]'s

[2] Comentário enviado por fooues em 02/09/2007 - 12:24h

Bruno, blz, ahh sim .. mas nesse caso o comando retorna arquivos a mais de 10 dias e não arquivos que foram criados no 10 dia anterior a data atual ..

vlew
;)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts