¿Equivalente de LogRotate para Windows?

30

Tenemos un enorme archivo de registro escrito por la aplicación de un proveedor. Asumamos que el vendedor no hará nada de lo que le pedimos. ¿Hay alguna forma de rotar ese archivo de registro? Estamos viendo unos 300 MB por hora que se escriben: prefiero dividirlo en pedazos de 10 MB y dejar que algo más viejo que un día o más de 1000 archivos caigan por un precipicio.

(Lo sé, sé un posible duplicado de ¿Cómo rotas los registros de Apache en Windows sin interrumpir el servicio? )

Ajá - el registro de Chomp estaba muerto, pero la búsqueda de "chomp logrotate" me trajo a su nuevo sitio . Lo intentaré mañana y responderé si me gusta. Todavía me gustaría escuchar sobre el software que alguien más está usando y que funciona para esto.

mfinni
fuente
¿Reiniciar periódicamente su servicio va a causar problemas? ¿Puede la aplicación enviar su salida a un programa o a un socket de red?
Zoredache
Puede iniciar sesión en stdout o en un archivo con nombre. Posibilidad de reiniciar: posible, aún no seguro.
mfinni
Hay cientos de scripts para rotaciones de registros. Por ejemplo, busque en Google "rotación de registro de powershell".
Jim B
Ese maneja específicamente archivos viejos (obsoletos) en los que ya no se está escribiendo, lo cual es un caso bastante fácil. Estaba buscando algo para manejar un solo archivo.
mfinni
Buscar en ese foro "logrotate" tiene 0 resultados.
mfinni

Respuestas:

8

Por mucho que me estremezca la sugerencia, instalar Cygwin es una de las pocas opciones que tiene disponible. A partir de ahí, puedes usar logrotate.

Wesley
fuente
2
No le tengo miedo a Cygwin si incluye una buena solución, aunque siempre estoy consciente de no usar un cañón para aplastar una mosca.
mfinni
1
Lo siento, tengo que retirar mi marca de verificación. No veo logrotate en el catálogo para el Cygwin actual. Puede compilarse correctamente desde la fuente, pero MAKEFILE no incluye nada para CYG o WIN.
mfinni
@mfinni Por desgracia, no está en el paquete, aunque otros lo han usado en Cygwin. = /
Wesley
Me suena bien
mfinni
2
Confirmo la capacidad de mover el archivo de registro de las acciones de Cygwin syslog-ng.
ivan_pozdeev
10

Todavía no lo he usado, pero LogRotateWin es una implementación nativa de logrotate para Windows que parece prometedor. Al menos no requiere Cygwin.

bmaupin
fuente
3
He usado esto en Windows 2012 R2. Funciona perfectamente. choco install logrotateluego edite c: \ archivos de programa (x86 \ LogRotate \ Content \ logrotate.conf
spuder
8

Eche un vistazo a logwot8 , que es un paquete de logrotate, un entorno de shell limitado y componentes de capa cygwin necesarios listos para funcionar de inmediato (tamaño de instalador de 4 MB). Debe personalizar el archivo de configuración de acuerdo con sus requisitos. Es de uso y distribución gratuitos bajo licencia BSD de 2 oraciones.

Descargo de responsabilidad: soy el desarrollador :-)

itefix
fuente
¿Alguna perspectiva para las fuentes? ¿Para, por ejemplo, recompilarlo para el Cygwin instalado en lugar de transportar uno separado?
ivan_pozdeev
Puede descargar las fuentes de logrotate utilizadas en logwot8 aquí .
itefix