Remove todos os arquivos de log, exceto o arquivo de log atual

0

Meu servidor sip gera 3 arquivos de log para cada hora:

Progress-23May2017-10-00hrs.log Call-23May2017-10-00hrs.log Error-23May2017-10-00hrs.log

Portanto, preciso excluir todos os outros arquivos de log, exceto o registro de horas atual. Eu tentei com esse comando

 find . -type f -name "*-23May2017-10-00hrs.log" -print

imprimiu os três arquivos de registro da minha hora atual.

Então, quando eu tentei este comando para verificar arquivos que não correspondem ao log de hora atual.

find . -type f -name "!(*-23May2017-10-30hrs.log)" -print

não me dá nada.

Como obter meus outros arquivos de log excluídos?

    
por Jeeva 23.05.2017 / 08:17

2 respostas

0

find /home/fi -maxdepth 1 -iname log\* -type f -mmin +1800 | sort | head -n -1 | xargs rm
    
por 23.05.2017 / 13:24
0

Primeiro de tudo: seus processos de localização não são ignorados, para que os curingas * sejam transformados. Para evitar que você use barras invertidas \ ou use aspas simples '

Então: %código% deve funcionar bem.

De volta às suas perguntas reais: Existem várias maneiras de resolver isso. Primeiro, você pode usar o recurso find . -type f -name '*-23May2017-10-00hrs.log' -print do find para apenas ouvir todos os arquivos que a última modificação é x minutos atrás. Vamos supor que seus logs do servidor sip estejam em -mtime

/var/log/sip/ mostrará todos os arquivos terminados em find /var/log/sip/ -type f -name '*.log' -mmin +$((24*60)) -print e cuja última modificação foi 24 * 60 minutos (1 dia) atrás.

No entanto, você também pode usar uma ferramenta que é feita para manipulação de registro e isso é .log .

logrotate está disponível em todas as principais distribuições unix e permite que você comprima arquivos em uma certa idade, remova-os em outro e assim por diante. A lista de recursos é bastante longa. É fácil de instalar, funciona como um daemon e você não precisa mexer com cronjobs extras.

Minhas sugestões é usar o logrotate. Confira a simplicidade em: link

    
por 23.05.2017 / 14:16