Ajuda em script para apagar pastas/arquivos antigos [RESOLVIDO]

1. Ajuda em script para apagar pastas/arquivos antigos [RESOLVIDO]

Giovani
giovanit

(usa Ubuntu)

Enviado em 11/01/2018 - 15:23h

Fala galera!

Estou querendo criar um script para apagar alguns arquivos antigos de backup. Porém tem um problema que não tenho ideia como fazer, seguinte, possuo um script de backup que é realizado todos os sábados que está funcionando 100%. Gostaria de adicionar a esse script um comando de exclusão que permaneça somente os 4 últimos arquivos feitos. Consegui fazer isso contando os dias, seria possível criar um script que verifique a quantidade de arquivos e deixe somente os 4 mais atualizados?


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2018 - 17:10h

giovanit escreveu:

amarildosertorio escreveu:

*Testando:
# find /dir/ -type f -name "*.sql" -ctime +3 -exec ls -l {} \;

*Excluindo
# find /dir/ -type f -name "*.sql" -ctime +3 -exec rm -f {} \;

Esse comando seria para buscar arquivos por dias?
Meus arquivos ficam da seguinte forma:
Bkp1 - criado dia 01/01
Bkp2 - criado dia 07/01
Bkp3 - criado dia 14/01
Bkp4 - criado dia 21/01

O próximo seria Bkp5 dia 28/01, como faria para apagar apenas o arquivo Bkp1 antes que o Bkp5 seja feito?


Isso são arquivos ou diretórios?

Com o "-ctime" você pode buscar com contexto de tempo. O exemplo abaixo você irá listar todos os arquivos no diretório "/dir/" com mais de 30 dias:

# find /dir/ -type f -ctime +30 -exec ls -l {} \;

3. Re: Ajuda em script para apagar pastas/arquivos antigos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2018 - 16:45h

man find
-ctime n
File's status was last changed n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file status change times.
-mtime n
File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.



4. Re: Ajuda em script para apagar pastas/arquivos antigos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/01/2018 - 16:48h

*Testando:
# find /dir/ -type f -name "*.sql" -ctime +3 -exec ls -l {} \;

*Excluindo
# find /dir/ -type f -name "*.sql" -ctime +3 -exec rm -f {} \;



5. Re: Ajuda em script para apagar pastas/arquivos antigos

Giovani
giovanit

(usa Ubuntu)

Enviado em 11/01/2018 - 17:00h

amarildosertorio escreveu:

*Testando:
# find /dir/ -type f -name "*.sql" -ctime +3 -exec ls -l {} \;

*Excluindo
# find /dir/ -type f -name "*.sql" -ctime +3 -exec rm -f {} \;

Esse comando seria para buscar arquivos por dias?
Meus arquivos ficam da seguinte forma:
Bkp1 - criado dia 01/01
Bkp2 - criado dia 07/01
Bkp3 - criado dia 14/01
Bkp4 - criado dia 21/01

O próximo seria Bkp5 dia 28/01, como faria para apagar apenas o arquivo Bkp1 antes que o Bkp5 seja feito?


6. Re: Ajuda em script para apagar pastas/arquivos antigos [RESOLVIDO]

Giovani
giovanit

(usa Ubuntu)

Enviado em 11/01/2018 - 17:16h

amarildosertorio escreveu:

giovanit escreveu:

amarildosertorio escreveu:

*Testando:
# find /dir/ -type f -name "*.sql" -ctime +3 -exec ls -l {} \;

*Excluindo
# find /dir/ -type f -name "*.sql" -ctime +3 -exec rm -f {} \;

Esse comando seria para buscar arquivos por dias?
Meus arquivos ficam da seguinte forma:
Bkp1 - criado dia 01/01
Bkp2 - criado dia 07/01
Bkp3 - criado dia 14/01
Bkp4 - criado dia 21/01

O próximo seria Bkp5 dia 28/01, como faria para apagar apenas o arquivo Bkp1 antes que o Bkp5 seja feito?


Isso são arquivos ou diretórios?

Com o "-ctime" você pode buscar com contexto de tempo. O exemplo a abaixo você irá listar todos os arquivos no diretório "/dir/" com mais de 30 dias:

# find /dir/ -type f -ctime +30 -exec ls -l {} \;

Tenho diretórios e um local e arquivos em outro local.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts