Pense no trecho :
usuarios=`cat /etc/passwd|cut -d ":" -f 1`;
for pasta in $usuarios;
do
  [trecho como foi passado acima]
done


que voce resolve seu problema, aí é o pulo do gato.

[]'s e sucesso.

PS: Quando responder para a lista, use responder a todos, responder em PVT
só mesmo quando for um OFFTOPIC ou assunto particular.

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



2007/1/11, sirhamacker sir <[EMAIL PROTECTED]>:
>
> Voce está quase querendo um script pronto, né ? :)


Na verdade não. Apenas tentando entender uma forma de pegar apenas dos
diretórios mencionados  pra frente, visto que, devido ao tempo de criação
deles, eles também  poderiam ser alvos do script e serem apagados.

Vou lhe dar um pequeno exemplo e voce faz o resto, ok ?
> #/bin/sh
> pasta="/home/lixeira/fulano"
> #
> # Elimina os arquivos com mais de sete dias;
> #
> echo "Eliminando de $ponto_montagem arquivos mais antigos que sete
> dias."
> for d in $pasta; do
>   find $d  -type f -mtime +7 -exec rm --force "{}" \;
>   #
>   # Removemos os diretóios vazios
>   #
>   find $d/* -type d -print0 | \
>        sort --zero-terminated --reverse | \
>        xargs --no-run-if-empty --null --max-args 1 rmdir 2> /dev/null
> done
>
> agora pense nas linhas acima dentro dum loop, onde com um novo laço eu
> capture os nomes dos usuarios :
> usuarios=`cat /etc/passwd|cut -d ":" -f 1`;
> for pasta in $pasta_lixo;
> do
>    [trecho como foi passado acima]
> done
>
> Se voce usar a cabeça, o script tá pronto.



Vou dar uma olhada no seu script, pelo que  vi por cima, ele ajuda um
pouco, mas acho que posso já comentar um pouco sobre uma parte dele, e é
nessa parte que também me "enrosquei". ;-D

>Vou lhe dar um pequeno exemplo e voce faz o resto, ok ?
>#/bin/sh
>pasta="/home/lixeira/fulano"
>#
># Elimina os arquivos com mais de sete dias;
>#
>echo "Eliminando de $ponto_montagem arquivos mais antigos que sete dias."
>for d in $pasta; do
>find $d  -type f -mtime +7 -exec rm --force "{}" \;

Você passa o parãmetro pasta="/home/lixeira/fulano". Esse seria já o
caminho absoluto onde os arquivos seriam pagadados. de "fulano" pra frente
ele executaria o script com perfeição. Mas e se o ponto começasse em
"/home/lixeira" e você quisesse apagar o que estivesse depois de "fulano"
tipo, pulando um nível na hierarquia do diretório.

Pois senão, digamos que eu tenha 100 funcionários. Teria que criar 100
linhas iguais para cada diretório. Lembrando que os diretórios não terão,
necessariamente, um nome de usuário criado no sistema, pois poderá ser um
diretório temporário com o nome de um cliente, por exemplo.

É nesse ponto que estou pecando, e não consegui encontrar algo que me
ajudasse. Mas obrigado. Seu script já ajudou um pouco o que preciso fazer e
a clarear as idéias.

Muito obrigado!

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

Responder a