Pesquisar arquivos que tenha data no nome, e apagar os ultimos 7 arquivos. [RESOLVIDO]

1. Pesquisar arquivos que tenha data no nome, e apagar os ultimos 7 arquivos. [RESOLVIDO]

fabio leme
COFFE

(usa Debian)

Enviado em 18/11/2023 - 10:27h

Bom dia Senhores
tenho um script de backup de arquivos o mesmo esta funcionando normalmente, mas queria gerar logs de cada backup. O mesmo esta programado para gerar um backup as 12:30 e as 19:00 assim gerando dois arquivos de logs.
Até ai esta tudo bem, faço o backup e gero os logs, mas com o tempo vai enchendo a pasta com esses arquivos de logs.
Meus logs estão em /var/log com o nome de 2023-11-17_BKP_FILE.txt, gostaria que o script lista-se os arquivos com o nome 2023-11-17 e ai compara-se com a data atual.
Ai se o arquivo for maior de 7 dias o mesmo exclui.
Como tem outros arquivos de log não consegui fazer o mesmo buscar pela data do arquivo pois iria excluir os outro arquivo
Uso o ubuntu 23.10 server



  


2. Re: Pesquisar arquivos que tenha data no nome, e apagar os ultimos 7 arquivos. [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/11/2023 - 10:27h

Para pesquisar e apagar os últimos 7 arquivos com a data no nome, você pode usar os seguintes comandos no terminal:

1. Primeiro, acesse o diretório onde os logs estão localizados. Neste caso, é o diretório /var/log. Execute o comando:

```
$ cd /var/log
```

2. Em seguida, você pode listar todos os arquivos que contêm a data 2023-11-17 no nome. Use o comando find com a opção -name para filtrar os arquivos. Execute o comando:

```
$ find . -name "*2023-11-17*"
```

Certifique-se de substituir "2023-11-17" pela data atual que você deseja pesquisar.

3. Depois de obter a lista de arquivos, você pode adicionar a opção -mtime +7 para excluir os arquivos mais antigos que 7 dias. Execute o comando:

```
$ find . -name "*2023-11-17*" -mtime +7 -exec rm {} \;
```

Isso excluiirá os arquivos que possuem a data 2023-11-17 no nome e têm mais de 7 dias.

Porém, observe que esses comandos podem apagar arquivos permanentemente. Certifique-se de ter feito um backup dos arquivos importantes antes de executar ess


3. Re: Pesquisar arquivos que tenha data no nome, e apagar os ultimos 7 arquivos. [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/11/2023 - 20:55h



o logrotate não lhe atende ???



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. PESQUISAR ARQUIVOS QUE TENHA DATA NO NOME, E APAGAR OS ULTIMOS 7 ARQUIVOS.

fabio leme
COFFE

(usa Debian)

Enviado em 20/11/2023 - 21:07h


Obrigado a todos
Com as explicações e exemplos consegui ajustar o comando para o que eu precisava, ficando assim.

sudo find /var/log -mtime -7 -type f -iname "*_BKP_FILE.txt*"
Ele me mostra todos os arquivos que tenham no nome "*_BKP_FILE.txt*". e o -7 são os dias

Obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts