Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Mensagens - elisson_andrade

Páginas: [1]
1
Se é pra apagar o gnu find tem o "-delete", que é menos propenso a erros (falta de escape, escolha ineficiente e coisa do tipo). Com {} \; o comando passado é executado pra cada ocorrência, enquanto que com {} \+ todas as ocorrências são juntadas e depois o comando é executado. Se for usar com xargs é recomendado passar "-print0" pro find e "-0" pro xargs.

o -delete funcionou perfeitamente! Eu tinha tentado ele (acredito que com a sintax errada) antes.

Fiz assim:
Código: [Selecionar]
find /media/Dados/Teste -type f -mmin +1 -iname '*.cr2' -delete -o -iname '*.xmp' -delete

2
Tem uma coisa que eu não consigo entender, é pq as pessoas investem tanto tempo reinventando a roda, quando se trata de ambiente de backup.
Não se faz isso com suíte de escritório, não se faz isso com edição de vídeo, não se faz isso com roteamento (aliás, com roteamento, fazem sim...)...

Antes de comentar sobre o comando "find", vou te recomendar: não perde seu tempo brigando com scripts de backup, amigo. Investe em pacotes prontos, como o Bacula e o Amanda.

Sobre o comando "find", se vc pretende executar um comando em cima dos arquivos encontrados, use o predicado "-exec". Seu comando ficaria assim:

Código: [Selecionar]
find /media/Dados -type f -mtime +30 -iname '*.cr2' -o -iname '*.xmp' -exec rm -f \{\} \;

Amigo, agradeço a resposta...

A respeito do Bacula, li sobre ele, gostei, mas não vi algo tratando a respeito da exclusão de arquivos determinados (no meu caso .cr2 e .xmp) com o passar do tempo. Existe tal opção anexa ao programa?

E sobre o comando, simplesmente não aconteceu nada utilizando ele... Para testes utilizei um "-mmin +1" e nenhum arquivo foi apagado...
Para efeito de teste, depois apenas listei os aquivos com o comando:
Código: [Selecionar]
find /media/Dados/Teste -type f -mmin +1 -iname '*.cr2' -o -iname '*.xmp'
e no terminal, mostrou até o arquivo que criei de testes (que contém espaços no nome e acentos).



Acredito que o problema seja o comando final...

3
Gente,

Estou tentando automatizar umas coisas no meu servidor de arquivos.
Eu faço backup para ele através do sFTP de 3 tipos de arquivos: .jpg, .cr2 e .xmp.

Com 30 dias após modificados eu quero que os arquivos .cr2 e .xmp sejam apagados automaticamente.

Pensei: farei um comando e agendarei no crontab. Até aí ok.

Montei o seguinte comando:
Código: [Selecionar]
find /media/Dados -type f -mtime +30 -iname '*.cr2' -o -iname '*.xmp' | while read localizados; do rm -f "$localizados"; done
Inicialmente tive problemas com os arquivos que tinham espaçamento entre palavras, por isso adotei o while read acompanhado do rm -f.

O comando rolou muito bem pra arquivos que não tinham acentos, porém há arquivos com acentos que não foram excluídos. Pesquisei um tanto mas não consegui achar a solução.

A princípio, não posso fazer um script para renomear todos os arquivos com acentos pq o programa que faz o backup para o servidor não vai mais reconhecer os arquivos renomeados e eu vou perder o vínculo, tirando a automação do processo de recuperação (se necessário), então já descartei a possibilidade de trocar os caracteres.

Alguma sugestão?

Páginas: [1]