Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

1. Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

Leonardo Soldi Sovrani dos Santos
devsoldi

(usa Debian)

Enviado em 19/09/2022 - 09:57h

Olá Senhores, como vai ?
estou com um problema com geração de Logs
tenho vários domínios com a seguinte estrutura:
/var/www/vhosts/dominio_do_cliente.com.br/logs/
nisso está gerando arquivos muito pesados de logs, coisa de 70, 80 Gb, mensalmente
e estou tendo que estar limpando manualmente, cliente por cliente.
ele gera por padrão a seguinte estrutura dentro do diretório log:
log/
access_ssl_log.processed.1.gz
access_ssl_log.processed.2.gz
access_ssl_log.processed.3.gz
eu precisava criar um script que faça a busca da palavra processed e exclua o arquivo ou limpe com um echo > >" "
alguém pode me dar um exemplo ? Obrigado desde já



  


2. MELHOR RESPOSTA

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 20/09/2022 - 06:52h


devsoldi escreveu:


No caso daria para usar um while para faze um laço ?
while var/www/vhosts/*/logs/ pois são varios diretórios com a mesma estrutura, ou ja estou viajando ?


Experimenta:

# find /var/www/vhosts/*/logs/ -type f -name '*processed*' -delete

--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.


3. Re: Verifica se existe um arquivo com a palavra

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/09/2022 - 10:01h

#!/bin/env bash

cd /var/www/vhosts/dominio_do_cliente.com.br/logs/ || exit

for arq in *gz
do
[[ $arq = *processed* ]] && : > "$arq"
done




4. Re: Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 19/09/2022 - 12:25h

Você pode fazer isso utilizando o comando find.

# find /var/www/vhosts/dominio_do_cliente.com.br/logs/ -name "*processed*" -exec rm -f {} \;

Este comando encontra todos os arquivos de log que contenham "processed" no nome e os apaga.


--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.



5. Re: Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

Leonardo Soldi Sovrani dos Santos
devsoldi

(usa Debian)

Enviado em 19/09/2022 - 16:49h


No caso daria para usar um while para faze um laço ?
while var/www/vhosts/*/logs/ pois são varios diretórios com a mesma estrutura, ou ja estou viajando ?


6. Re: Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

Leonardo Soldi Sovrani dos Santos
devsoldi

(usa Debian)

Enviado em 20/09/2022 - 09:15h

Show de bola Meu Amigo, funcionou como eu precisava, só irei tentar agora criar uma condição, para que fique mais semântico o script, irei aplicar mensalmente no crontab
Grato por compartilhar seu conhecimento
Abraço.


7. Re: Verifica se existe um arquivo com a palavra "X" e exclui [RESOLVIDO]

Leonardo Soldi Sovrani dos Santos
devsoldi

(usa Debian)

Enviado em 20/09/2022 - 09:15h


xerxeslins escreveu:


devsoldi escreveu:


No caso daria para usar um while para faze um laço ?
while var/www/vhosts/*/logs/ pois são varios diretórios com a mesma estrutura, ou ja estou viajando ?


Experimenta:

# find /var/www/vhosts/*/logs/ -type f -name '*processed*' -delete

--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.

Show de bola Meu Amigo, funcionou como eu precisava, só irei tentar agora criar uma condição, para que fique mais semântico o script, irei aplicar mensalmente no crontab
Grato por compartilhar seu conhecimento
Abraço.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts