Problema de registro y script bash

Problema de registro y script bash

Tengo 11 servidores Debian ejecutándose en el alojamiento en la nube de Rackspace. Todos ejecutando VHCS2 para la gestión de hosting. 1 servidor se usa para aplicaciones y 10 se usan solo para smtp. Mi pregunta es sobre los servidores smtp. Cada servidor alojaba 1 dominio. Mi problema es que cuando mi cliente usa smtp, se crea un registro en este directorio.

/var/log/

pero en 24 horas las unidades están llenas y el servidor rechaza todas las conexiones SMTP. Luego eliminé los registros y ejecuté el siguiente comando para verificar el espacio en disco.

df -h

pero muestra que el disco duro aún está lleno y el servidor aún rechaza las conexiones SMTP. Luego ejecuté el siguiente comando para ver la verdad.

du --max-depth=1 -h

Muestra la verdad. El espacio real en disco utilizado. Luego reinicié el servidor y ahora el servidor funciona bien. Pero después de unas horas sucedió la misma situación. Luego creé el siguiente script.

#!/bin/sh

rm -fr /var/log/*
rm -fr /var/log/apache2/*.log
rm -fr /var/log/apache2/*.log.*
rm -fr /var/log/apache2/users/*
rm -fr /var/log/apache2/backup/*

reboot

Funcionó durante días, pero después de eso los registros vuelven a llenar el disco duro.

Ahora quiero las siguientes soluciones. Si alguien puede ayudarme.

  1. Cuando elimino archivos del disco duro del servidor, se liberarán sin reiniciar
  2. El registro debe estar en un rango específico. Como un tamaño de archivo específico donde los datos antiguos se sobrescriben con datos nuevos

Respuesta1

  1. Eliminar los archivos de registro por sí solo no ayudará. Debe decirle al demonio que cierre el archivo de registro, generalmente enviándole un SIGHUP.
  2. logrotatedebe manejar los registros y puede utilizar varios criterios para determinar cuándo se debe rotar el registro.
  3. Tus registros se están llenandohorriblerápido. Averigüe qué está inundando sus registros, envíe sus registros a otra máquina para su manejo y almacenamiento, o monte un volumen separado en /var/log para que sea el único volumen afectado.

Respuesta2

Realmente necesita determinar qué registros están llenando el disco. Una vez que sepa qué registros son el problema, mírelos y vea por qué están creciendo tan rápidamente.

¿Se está registrando demasiada información? Reducir el nivel de registro de la aplicación.
¿Se están registrando muchos errores? Investigar y arreglar.
...

Una vez que tenga el control de los registros, podrá utilizarlos logrotatepara ayudar a administrarlos.

información relacionada