O find tem um para -type onde voce diz o tipo de arquivo a se procurar, um
exemplo :
find /servidor/temporarios/funcionario1 -type f  -ctime +15   -exec rm -f {}
\;


2007/1/11, Anderson Kaiser <[EMAIL PROTECTED]>:

Pessoal, bom dia.

Tenho em meu servidor Debian um diretório /servidor/temporarios onde ficam
armazenados alguns arquivos temporários dos funcionários na rede. É mais
para uma troca interna de documentos, programas etc. Esta compartilhado na
rede com Samba e funcionando que é uma beleza.

Limitei esse diretório em 2 GB. O problema é que o pessoal vai gravando
seus arquivos lá, e vai deixando. E como deixei um pequeno espaço, vai
chegando a hora que vai lotar. Então pensei "crio um script para que ele
apague os arquivos após um certo período".

Até ai tudo ok. Criei o script, mas como não tenho uma grande experiência,
estou apanhando um pouco. Abaixo meu script:

#!/bin/bash
# Script para apagar arquivos com mais de 15 dias no Servidor
cd /servidor/temporarios
rm -f `find -ctime +15`

Ele cumpre com sua função, mas existe "algo mais" que queria que ele
fizesse.

Como podem reparar, deixando dessa forma, o script apagará todos os
arquivos com mais de 15 dias que tem no servidor. Isso é o que eu quero, mas
ele mantem os diretórios, apagando somente os arquivos.

Mas ai tem um outro problema. O diretório está dividido da seguinte forma:

/servidor/temporarios/funcionario1
/servidor/temporarios/funcionario2
/servidor/temporarios/funcionario3

Então, cada funcionário tem seu diretório dentro do compartilhamento. Mas
se eu coloco no meu script da seguinte forma:

rm -rf `find -ctime +15`

Ele apaga também os diretórios. Porém, inclusive os diretórios com os
nomes dos funcionários. E eu queria apenas que apagasse os diretórios que
estão depois dessa hierarquia.

Será que alguém teria uma solução pra ajudar?

Obrigado!

--
Anderson Kaiser
[EMAIL PROTECTED]
Linux User #: 426240
1011 10000011000100100110010000011000

Responder a