Pular para o conteúdo

Apagar diretorios por data + antiga [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 14:17h

Ola pessoal, gostaria de parabenizar vcs todos pelo site, dentro de minha buscas na internet ele sempre eh o primeiro a retornar resposta, PARABENS, bem... eh o seguinte gostaria de uma ajuda para apagar diretorios mais antigos que faço num backup na empresa onde trabalho. É um script simples que criei baseado em outro que vi, mas como ele vai ser automatico, preciso que delete os diretorios mais velhos depois de 5 dias, nao posso compacta-los devido ao pessoal aqui nao querer entao tem que ser em pasta mesmo, da em torno de 73 gb a pasta, esse aqui eh meu script

#!/bin/bash

PASTA_DESTINO=/backup

TEMPO_LIMITE=5

pp /sistema/html $PASTA_DESTINO/html-`date +%Y-%m-%d`-$HOSTNAME -fr


Ta funcionando legal + não queria ter que ficar monitorando isso, ele ficando automatizado seria bem melhor

Alguem tem alguma dica? Desde já agradeço



Responder tópico

2. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Melhor resposta

Enviado em 20/10/2008 - 17:29h

Do jeito que vc escreveu a variavel tempo destino esta de enfeite, o jeito de fazer funcionar, porem não sei se funciona do jeito que vc quer seria assim:



#!/bin/bash

PASTA_DESTINO=/backup

TEMPO_LIMITE=5

cp /sistema/html $PASTA_DESTINO/html-`date +%Y-%m-%d`-$HOSTNAME -fr

find $PASTA_DESTINO -type d -mtime +$TEMPO_LIMITE -exec rm -rf {} \;

O que indica o tempo limite neste caso do comando find é o mtime, onde estava o numero 5, não sei e não estou perto de um linux para testar para vc, se funciona com forma de variavel declarada, se não funcinonar comente a 3º linha TEMPO_LIMITE=5, apague no comando find que eu alterei agora, o $TEMPO_LIMITE e coloque o valor 5, que com certeza funcionará...
Um jeito de vc fazer um teste, é copie todos os arquivos para uma pasta backup do backup, rsrsrs, crie uma backup_2, backup_new, novo_backup, qualquer coisa, e faça o teste na sua pasta backup para saber como ira tratar, uma dica, coloque o valor do mtime maior, 10, por exemplo, e vá reduzindo, para poder ver quantos dias esta apagando etc...
Outra dica, não irá funcionar, se vc executar este comando na pasta que vc acabou de criar e copiar, pois o mtime, se muito me engano procura no status da ultima alteração, e como vc acabou de copiar, estará como status de agora.


3. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 15:14h

Tente utilizar o find!

find /dir/bkps -type d -mtime +5 -exec rm -rf {} \;

Desse modo, ele irá apagar os diretórios que não são acessados a mais de 5 dias.

Mais detalhes:
man find

4. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 16:43h

obrigado smarcell, mas esse comando nao iria procurar todos os diretorios dentro do meu backup? queria algo que apagasse direto a raiz do backup, ex:

La eh assim:
o backup fica em
/backup/sistema-2008-10-20-servidor

ai tem as variantes do backup
/backup/sistema-2008-10-19-servidor
/backup/sistema-2008-10-18-servidor
/backup/sistema-2008-10-17-servidor
e ai vai...

queria algo que verificasse entre esses diretorios o mais antigo a "n" dias e apagasse direto essa "sistema-2008-10-17-servidor"

Obrigado por me ajudar amigo!



5. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 16:58h

Não, ele irá excluir somente os que o comando "find com a opção ctime 5" para cinco dias acho.

Ex.:

/backup/20-10
/backup/19-10
/backup/18-10
/backup/17-10
/backup/16-10
/backup/15-10

Apos rodar este comando ira apagar somente as pastas do dia 15-10 para tras, 14, 13, 12....




6. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 17:19h

legal pessoal obrigado, mas uma duvida, qual a saida que isso vai me dar pq pretendo usar isso assim:

#!/bin/bash

PASTA_DESTINO=/backup

TEMPO_LIMITE=5

cp /sistema/html $PASTA_DESTINO/html-`date +%Y-%m-%d`-$HOSTNAME -fr

find $PASTA_DESTINO -type d -mtime +5 -exec rm -rf {} \;

isso vai dar certo?!

7. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 20/10/2008 - 17:38h

obrigado neliobjr! vou testar esse procedimento e aviso a vcs! ahh e aquela variavel la passou despercebido, kkkkk valeus a força!

8. Re: Apagar diretorios por data + antiga [RESOLVIDO]

Enviado em 21/10/2008 - 08:58h

Obrigado a sMarcell e neliobjr pela ajuda de vcs! deixei agendado essa noite o backup e la ja tinha uma pastinha de backup antiga de 14 de outubro, o q aconteceu?! ele fez o backup de ontem normals e apagou a do dia 14!! perfecto meninos! obrigadao!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder