Procurar arquivos modificados a mais de "n" dias
Dica publicada em Linux / Comandos
Procurar arquivos modificados a mais de "n" dias
Olá pessoal!!!
Tive recentemente a necessidade de criar um script que teria que apagar arquivos que existissem há mais de 4 dias em alguns locais. Foi muito simples criar tal script, mas foi encontrado uma forma melhor de fazer tal operação.
Através do comando find e possível "fazer o diabo". Mas vou comentar somente sobre o assunto. Se alguém quiser maiores detalhes basta consultar o manual do comando, digitando "man find" na linha de comando.
Ele traz diversos recursos para tal função:
Sua sintaxe e:
find [path...] [expressão]
Onde path é o local que deseja que seja feito a procura, e expressão é onde você deve colocar os comandos.
Para tal função, foi utilizado, por exemplo:
# find /var/log -mtime +4 > /tmp/mod4dias
Onde o resultado é a criação de um arquivo que contém uma listagem dos arquivos que foram modificados pela última vez a mais de 4 dias.
O mais interessante deste comando e que ele permite executar outros através dele mesmo utilizando o -exec ou -ok.
Logicamente que quem conhece de shell sabe que mesmo que ele não deixasse executar outros comandos, bastaria usar o pipe("|) depois do comando e colocar o outro comando para ser executado.
Tive recentemente a necessidade de criar um script que teria que apagar arquivos que existissem há mais de 4 dias em alguns locais. Foi muito simples criar tal script, mas foi encontrado uma forma melhor de fazer tal operação.
Através do comando find e possível "fazer o diabo". Mas vou comentar somente sobre o assunto. Se alguém quiser maiores detalhes basta consultar o manual do comando, digitando "man find" na linha de comando.
Ele traz diversos recursos para tal função:
- -atime --> para acessados
- -mtime --> para modificados
- -ctime --> para criados
Sua sintaxe e:
find [path...] [expressão]
Onde path é o local que deseja que seja feito a procura, e expressão é onde você deve colocar os comandos.
Para tal função, foi utilizado, por exemplo:
# find /var/log -mtime +4 > /tmp/mod4dias
Onde o resultado é a criação de um arquivo que contém uma listagem dos arquivos que foram modificados pela última vez a mais de 4 dias.
O mais interessante deste comando e que ele permite executar outros através dele mesmo utilizando o -exec ou -ok.
Logicamente que quem conhece de shell sabe que mesmo que ele não deixasse executar outros comandos, bastaria usar o pipe("|) depois do comando e colocar o outro comando para ser executado.