Limpe regularmente o log relacionado

Recentemente, fiz algumas pesquisas superficiais sobre limpeza de toras, que podem ser resumidas basicamente de duas maneiras

#第一种写法
echo > 日志
#第二种写法
cat /dev/null > 日志

Esses dois são melhores, porque os recursos do disco podem ser liberados imediatamente
echo "" > log Este método de escrita não é recomendado, pois haverá uma linha em branco na primeira linha, embora não tenha efeito, mas pacientes com transtorno obsessivo-compulsivo não pode aceitar

Além disso, os dois pits encontrados, o primeiro pit, o arquivo que está sendo gravado, não pode ser limpo, não importa qual método seja usado, ou pode ser limpo no gap quando não está escrito, ou o serviço é interrompido e o log é limpo e, em seguida, há o log É mais fácil limpar o armazenamento com >> redirecionamento de sobreposição,
como

nohup java -jar 123.jar > nohup.out 2>&1 &

O método de inicialização deste microsserviço java é substituído por

nohup java -jar 123.jar >> nohup.out 2>&1 &

Logs são mais fáceis de limpar

Vamos falar sobre o segundo poço. Se os arquivos de log forem armazenados centralmente, por exemplo, se houver vários arquivos de log em um diretório de logs que precisam ser limpos, eles precisam ser percorridos e limpos. Ao percorrer, não use o diretório ls para passagem. Deixe-me dar um exemplo de erro .

#错误示例
for i in `ls /root/logs`
do
cat /dev/null > $i
done

Um problema fatal ao escrever dessa maneira é o delimitador. Embora ls possa percorrer os arquivos no diretório, seu delimitador não é um retorno de carro, o que inexplicavelmente levará ao aparecimento de arquivos copiados. Não está claro qual mecanismo é acionado aqui Resumindo, não faça travessia com ls! ! Não faça travessia com ls! ! Não faça travessia com ls! !

Pronúncia Correta:

for i in `find /root/logs -type f -name "*log*"`
do
cat /dev/null > $i
done

Os arquivos recuperados por find usam o retorno de carro como separador, portanto, não há problema em percorrê-los. Além disso, você precisa adicionar **-type f** como uma opção. O diretório em si tem a palavra-chave log, ou seja, o próprio diretório também será encontrado por find, então é definitivamente impossível escrever vazio nele , então especifique o resultado da pesquisa É uma classe de arquivo

Supongo que te gusta

Origin blog.csdn.net/qq_35855396/article/details/116060887
Recomendado
Clasificación