Scrpt [RESOLVIDO]

1. Scrpt [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 11/11/2013 - 12:55h

Bom dia

Gostaria de uma ajuda de vcs , faco backup diario do meu banco de dados porem gostaria de deixar somente os últimos dois dias como faco isto meu arquivos sao criados todos os dias no formato

backups/base_xxx_0111.sql
backups/base_xxx_0211.sql
backups/base_xxx_0311.sql
backups/base_xxx_0411.sql
backups/base_xxx_0511.sql
backups/base_xxx_0611.sql
backups/base_xxx_0711.sql
backups/base_xxx_0811.sql
backups/base_xxx_0911.sql
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql

Gostaria de deixar apenas os ultimos 02 dias ficando apenas
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql
Amanha dia 12/11 vai ser criado outro backup com a data backups/base_xxx_1211.sql

Ficando
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql
backups/base_xxx_1211.sql

Ai meu script teria que apagar o dia 10/11 e por ai em diante

Espero que tenha explicado para que vcs possam entender


  


2. Re: Scrpt [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 11/11/2013 - 12:59h

waltterm2303 escreveu:

Bom dia

Gostaria de uma ajuda de vcs , faco backup diario do meu banco de dados porem gostaria de deixar somente os últimos dois dias como faco isto meu arquivos sao criados todos os dias no formato

backups/base_xxx_0111.sql
backups/base_xxx_0211.sql
backups/base_xxx_0311.sql
backups/base_xxx_0411.sql
backups/base_xxx_0511.sql
backups/base_xxx_0611.sql
backups/base_xxx_0711.sql
backups/base_xxx_0811.sql
backups/base_xxx_0911.sql
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql

Gostaria de deixar apenas os ultimos 02 dias ficando apenas
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql
Amanha dia 12/11 vai ser criado outro backup com a data backups/base_xxx_1211.sql

Ficando
backups/base_xxx_1011.sql
backups/base_xxx_1111.sql
backups/base_xxx_1211.sql

Ai meu script teria que apagar o dia 10/11 e por ai em diante

Espero que tenha explicado para que vcs possam entender


Precisa de script pra usar o find?


3. nao entendi

walter
waltterm2303

(usa Suse)

Enviado em 11/11/2013 - 13:27h



Desculpe mais nao entendi.





4. Re: Scrpt [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 11/11/2013 - 14:20h

waltterm2303 escreveu:



Desculpe mais nao entendi.




O comando find lhe permite buscar arquivos por determinados critério (antiguidade é um deles) e então executar comandos em cima de cada arquivo encontrado. Exemplo
 $ find . -mtime +2 -execdir rm "{}" \; 

Deleta todos os arquivos modificados há mais de dois dias no diretório atual e em todos os seus subdiretórios.


5. Re: Scrpt [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 11/11/2013 - 14:27h

de uma lida

http://www.gnu.org/software/findutils/manual/html_node/find_html/Cleaning-Up.html

tem adicionar no seu backup o find + rm



6. Re: Scrpt [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 11/11/2013 - 14:28h

Como passado o find é a melhor opção


/usr/bin/find /backup/mysql/*.sql -maxdepth 1 -type f -mtime +15 | xargs rm -rf

Ou seja ele vai buscar na pasta indicada arquivos com extensão .sql e para cada um que achar ele vai apagar os que tem mais de 15 dias.

De uma pesquisada como usar o cron para agendar este script diário.


7. testar

walter
waltterm2303

(usa Suse)

Enviado em 11/11/2013 - 15:29h



Obrigado Irei testar e lhe aviso caso funcione




8. Re: Scrpt [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 12/11/2013 - 14:57h

danniel-lara escreveu:

de uma lida

http://www.gnu.org/software/findutils/manual/html_node/find_html/Cleaning-Up.html

tem adicionar no seu backup o find + rm




Ok Agradeco a sua ajuda






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts