Equivalente ao LogRotate para Windows?

30

Temos um enorme arquivo de log sendo gravado pelo aplicativo de um fornecedor. Vamos supor que o fornecedor não faça o que pedimos. Existe alguma maneira de girar esse arquivo de log? Estamos analisando cerca de 300 MB por hora sendo gravados - prefiro dividir isso em pedaços de 10 MB e deixar que algo mais antigo que um dia ou mais de 1000 arquivos caia de um precipício.

(Eu sei, eu sei, possível duplicata de Como você gira os logs do apache no Windows sem interromper o serviço? )

Aha - o log do Chomp estava morto, mas a pesquisa por "chomp logrotate" me levou ao seu novo site . Vou tentar amanhã e responder se eu gostar. Eu ainda gostaria de ouvir sobre o software que mais alguém está usando que funciona para isso.

mfinni
fonte
A reinicialização periódica do serviço causará problemas? O aplicativo pode enviar sua saída para um programa ou um soquete de rede?
Zoredache
Ele pode fazer logon no stdout ou em um arquivo nomeado. Possibilidade de reiniciar - possível, ainda não certo.
mfinni
Existem centenas de scripts para rotações de log. Por exemplo, pesquise no Google por "rotação do log do PowerShell".
Jim B
Aquele trata especificamente de arquivos antigos (antigos) que não estão mais sendo gravados, o que é um caso bastante fácil. Eu estava procurando algo para lidar com um único arquivo.
mfinni
Pesquisando esse fórum por "logrotate" há 0 resultados.
mfinni

Respostas:

8

Por mais que eu estremeça com a sugestão, a instalação do Cygwin é uma das poucas opções disponíveis. De lá, você pode usar logrotate.

Wesley
fonte
2
Não tenho medo de Cygwin se ele incluir uma boa solução, embora eu esteja sempre consciente de não usar um canhão para golpear uma mosca.
mfinni
11
Desculpe, tenho que retirar minha marca de seleção. Não vejo logrotate no catálogo do Cygwin atual. Pode ser construído corretamente a partir da fonte, mas o MAKEFILE não inclui nada para CYG ou WIN.
mfinni
@finfin Infelizmente, ele não está no pacote, embora outros o tenham usado no Cygwin. = /
Wesley
Parece bom para mim
mfinni
2
Confirmo a capacidade de mover o arquivo de log das ações da Cygwin syslog-ng.
ivan_pozdeev
10

Ainda não o usei, mas o LogRotateWin é uma implementação nativa do logrotate para Windows que parece promissora. Pelo menos, não requer Cygwin.

bmaupin
fonte
3
Eu usei isso no Windows 2012 R2. Funciona perfeitamente. choco install logrotateem seguida, editar c: \ Program Files (x86 \ logrotate \ Content \ logrotate.conf
spuder
8

Dê uma olhada no logwot8 , que é um pacote de logrotate, um ambiente de shell limitado e componentes da camada cygwin necessários, prontos para funcionar imediatamente (tamanho do instalador de 4 MB). Você precisa personalizar o arquivo de configuração de acordo com seus requisitos. É gratuito para uso e distribuição sob licença BSD de 2 frases.

Disclaimer: Eu sou o desenvolvedor :-)

itefix
fonte
Alguma perspectiva para fontes? Digamos, recompilá-lo para o Cygwin instalado em vez de transportar um separado por aí?
ivan_pozdeev
Você pode baixar as fontes de rotação de log usadas no logwot8 aqui .
itefix 23/02