Remoção de Arquivos com mais de X dias em Diretorio [RESOLVIDO]

1. Remoção de Arquivos com mais de X dias em Diretorio [RESOLVIDO]

Wallison Oliveira
wallisonlau

(usa Outra)

Enviado em 23/07/2019 - 18:52h

Caros,
Não sei bem se estou no local certo e caso nao esteja peco desculpas antecipadamente, mas vamos a questão.
Tenho um diretorio no linux que é constantemente alimentado por uma aplicação de integracao de arquivos e preciso limpar esse diretório de forma a manter somente arquivos com mais de 180 dias (6 meses).
Para essa rotina estou tentando o seguinte comando:

find /u/saci/entry/integration/ -type f -ctime +180 -exec rm -rf {} \:

Acontece que nao é apresentado nenhuma falha , porem os arquivos nao estao sendo removidos.

Agradeco desde ja.


  


2. Re: Remoção de Arquivos com mais de X dias em Diretorio

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/07/2019 - 19:30h

eu acho que se vc trocar \: por \; pode funcionar
ou quem sabe {} +


-delete
Delete files; true if removal succeeded. If the removal failed, an error message is issued.
Use of this action automatically turns on the -depth option.
To test the command before actually deleting anything, use find -print -depth

-exec command ;

Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the
command until an argument consisting of ';' is encountered. The string '{}' is replaced by the current file name being
processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some
versions of find. Both of these constructions might need to be escaped (with a ' \ ') or quoted to protect them from
expansion by the shell. See the EXAMPLES section for examples of the use of the '-exec' option. The specified
command is run once for each matched file. The command is executed in the starting directory. There are unavoidable
security problems surrounding use of the -exec option; you should use the -execdir option instead.

-exec command {} +
This variant of the -exec option runs the specified command on the selected files, but the command line is built by
appending each selected file name at the end; the total number of invocations of the command will be much less
than the number of matched files. The command line is built in much the same way that xargs builds its command
lines. Only one instance of '{}' is allowed within the command. The command is executed in the starting directory.

https://ss64.com/bash/find.html

Ou usar a opção -delete mesmo. Exemplo do site da ref:

$ find . -name '*.doc' -name questionnaire* -delete



3. Re: Remoção de Arquivos com mais de X dias em Diretorio [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/07/2019 - 08:21h

Não sei se vc reparou (ou se foi erro de digitação), mas no fim do seu comando tem dois pontos e ele tem outra função em bash (https://stackoverflow.com/questions/3224878/what-is-the-purpose-of-the-colon-gnu-bash-builtin). O certo é ponto-e-vírgula. Outro teste q vc pode fazer e remover a parte do -exec pra ter certeza de q ele tá retornando o resultado esperado.


--
http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


4. Remoção de Arquivos com mais de X dias em Diretorio (RESOLVIDO)

Wallison Oliveira
wallisonlau

(usa Outra)

Enviado em 24/07/2019 - 15:18h

Caros,

De fato o problema é o ( : ) ao efetuar a troca para ( ; ) Funcionou legal, nao havia percebido a troca.

Obrigado pela atencao de todos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts