[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Apagando arquivos com X dias
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Re: Apagando arquivos com X dias |
Date: |
Tue, 17 Feb 2009 15:36:23 -0300 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Bruno...
Teu problema é "classico", porem não simples de ser resolvido...
Veja o que faço abaixo e tente entender:
(infelizmente o gmail eh uma merda pra isso, postei aqui:
http://rafb.net/p/vgkJhV26.html )
[root@ideafix ~]# mkdir -p teste/teste2
[root@ideafix ~]# stat teste
File: `teste'
Size: 19 Blocks: 0 IO Block: 4096 directory
Device: 801h/2049d Inode: 1576213 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-02-17 15:29:00.600331500 -0300
Modify: 2009-02-17 15:29:00.612332250 -0300
Change: 2009-02-17 15:29:00.612332250 -0300
[root@ideafix ~]# stat teste/teste2
File: `teste/teste2'
Size: 6 Blocks: 0 IO Block: 4096 directory
Device: 801h/2049d Inode: 2124026 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-02-17 15:29:00.612332250 -0300
Modify: 2009-02-17 15:29:00.612332250 -0300
Change: 2009-02-17 15:29:00.612332250 -0300
[root@ideafix ~]# > teste/teste2/blah
[root@ideafix ~]# stat teste
File: `teste'
Size: 19 Blocks: 0 IO Block: 4096 directory
Device: 801h/2049d Inode: 1576213 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-02-17 15:29:00.600331500 -0300
Modify: 2009-02-17 15:29:00.612332250 -0300
Change: 2009-02-17 15:29:00.612332250 -0300
[root@ideafix ~]# stat teste/teste2
File: `teste/teste2'
Size: 17 Blocks: 0 IO Block: 4096 directory
Device: 801h/2049d Inode: 2124026 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-02-17 15:29:00.612332250 -0300
Modify: 2009-02-17 15:29:34.062422750 -0300
Change: 2009-02-17 15:29:34.062422750 -0300
[root@ideafix ~]#
Percebe que a estrutura é:
./teste
./teste/teste2
E então eu criei um arquivo chamado "blah" em:
./teste/teste2/blah
Veja que o "Modify" (mtime) do diretorio ./teste/teste2 foi alterado,
porem o do ./teste não foi...
Imagina se tu usa um comando:
# find . -mtime +2 -exec rm -rf {} \;
Percebe o que vai acontecer com "teste" ?
"teste" casa com o padrão, nada foi alterado no nivel dele nos ultimos
2 dias, e então o comando vai ser executado:
# rm -rf ./teste
E ai nos perdemos: ./teste/teste2, ./teste/dados_importantes, ./teste/omfg ....
E qualquer outra coisa abaixo de ./teste, por que quando o comando rm
- -rf é executado, ele não tem nada a ver com o find +mtime, ele
simplesmente DESTROI tudo o que tiver pra baixo do diretorio que tu
mandou.
Eu diria então pra tu dar uma olhada nos parametros -maxdepth e
- -mindepth do find, e tentar chegar a um consenso.
- --
Flávio do Carmo Júnior aka waKKu
#bash-br @ irc.freenode.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: http://getfiregpg.org
iEYEARECAAYFAkmbA6cACgkQgyuXjr6dyks4zQCgpnSiHeCQYoZ6NJRouenLkLrr
wbgAnRCsqp/l6UqYWPAYLKqT7JnRNKa2
=J8wr
-----END PGP SIGNATURE-----
2009/2/17 voyeg3r <address@hidden>:
> Se usar "-type f"
> ele pega somente arquivos
>
> --- Em address@hidden, bruno damada
> <bruno.damada@...> escreveu
>>
>> ah tah, eu achei que iria apagar somente os arquivos e nao as
> pastas... Obrigado
>>
>> --- Em ter, 17/2/09, voyeg3r <voyeg3r@...> escreveu:
>> De: voyeg3r <voyeg3r@...>
>> Assunto: [shell-script] Re: Apagando arquivos com X dias
>> Para: address@hidden
>> Data: Terça-feira, 17 de Fevereiro de 2009, 13:02
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Perdão, eu entendi mal sua pergunta
>>
>>
>>
>> Mas a dica que mostrei do xargs com zero -print0 | xargs -0
>>
>> para min resolve quase sempre, principalmente se houver espaços nos
>>
>> nomes de arquivos e/ou pastas, sem esta opção é batata dar erro!
>>
>>
>>
>> --- Em shell-script@ yahoogrupos. com.br, bruno damada
>>
>> <bruno.damada@ ...> escreveu
>>
>> >
>>
>> >
>>
>> > Eu quero que apague tudo do diretorio tanto arquivos quanto pastas,
>>
>> mesmo assim não preciso do -r ??
>>
>> >
>>
>> >
>>
>> > --- Em ter, 17/2/09, voyeg3r <voyeg3r@ > escreveu:
>>
>> > De: voyeg3r <voyeg3r@ >
>>
>> > Assunto: [shell-script] Re: Apagando arquivos com X dias
>>
>> > Para: shell-script@ yahoogrupos. com.br
>>
>> > Data: Terça-feira, 17 de Fevereiro de 2009, 9:36
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> > # basta dizer ao amado find que você só quer arquivos
>>
>> >
>>
>> >
>>
>> >
>>
>> > # Apagando arquivos das lixeiras com mais de 5 dias
>>
>> >
>>
>> > find /home/*/Lixeira/ * -type f -mtime +5 -exec rm -rf {} \;
>>
>> >
>>
>> >
>>
>> >
>>
>> > # Apagando arquivos do publico com mais de 10 dias
>>
>> >
>>
>> > find /samba/publico/ * -type f -mtime +10 -exec rm -rf {} \;
>>
>> >
>>
>> >
>>
>> >
>>
>> > # outra dica: é muito mais rápido usar o find com o xargs ao
>>
>> >
>>
>> > # invés do -exec
>>
>> >
>>
>> >
>>
>> >
>>
>> > find /home/*/Lixeira/ * -type f -mtime +5 -print0 | xargs -0 rm -f
>>
>> >
>>
>> >
>>
>> >
>>
>> > # a opção -print0 coloca um delimitador para cada arquivo evitando
>>
>> >
>>
>> > # erros em "arquivos com espaço no nome" e o xargs entrega ao rm
>>
>> >
>>
>> > # blocos de um tamanho que nunca vai dar estouro da pilha de memória
>>
>> >
>>
>> >
>>
>> >
>>
>> > # se são arquivos não necessita da opção -r (recursividade no exec)
>>
>> >
>>
>> >
>>
>> >
>>
>> > --- Em shell-script@ yahoogrupos. com.br, bruno damada
>>
>> >
>>
>> > <bruno.damada@ ...> escreveu
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Preciso apagar alguns arquivos depois de X dias de determinados
>>
>> >
>>
>> > diretorios.. .. Porem ele nao esta apagando pastas... Segue abaixo o
>>
>> Codigo
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > # Apagando arquivos das lixeiras com mais de 5 dias
>>
>> >
>>
>> > > find /home/*/Lixeira/ * -mtime +5 -exec rm -rf {} \;
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > # Apagando arquivos do publico com mais de 10 dias
>>
>> >
>>
>> > > find /samba/publico/ * -mtime +10 -exec rm -rf {} \;
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > []'s
>>
>> >
>>
>> > >
>>
>> >
>>
>> > >
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > Veja quais são os assuntos do momento no Yahoo! +Buscados
>>
>> >
>>
>> > > http://br.maisbusca dos.yahoo. com
>>
>> >
>>
>> > >
>>
>> >
>>
>> > > [As partes desta mensagem que não continham texto foram removidas]
>>
>> >
>>
>> > >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> > Veja quais são os assuntos do momento no Yahoo! +Buscados
>>
>> > http://br.maisbusca dos.yahoo. com
>>
>> >
>>
>> > [As partes desta mensagem que não continham texto foram removidas]
>>
>> >
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Veja quais são os assuntos do momento no Yahoo! +Buscados
>> http://br.maisbuscados.yahoo.com
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>
>
Re: [shell-script] Re: Apagando arquivos com X dias, Anderson Nascimento, 2009/02/17