Ficheros grandes en Linux

Hola,
Me he vuelto loco buscando una forma de prevenir un error en Linux que me deja el ordenador colgado. Se trata de evitar que un fichero de log exceda el tamaño máximo permitido en Linux, que creo que es de 2 Gb. Cada vez que llega a alcanzar este tamaño, me bloquea el equipo. ¿Hay alguna forma de evitar que esto ocurra?

1 Respuesta

Respuesta
1
Sí, la forma más sencilla es usar el sistema de rotación de logs que trae el sistema Linux en la mayoría de sus distribuciones. De este modo, el fichero de log pertinente va cambiando de nombre cada cierto tiempo (una vez al día o al mes, normalmente)
Logrotate es el programa de rotación de archivos de log. Este se encarga de realizar esta tarea. Es un módulo base de casi cualquier distribución de Linux. Simplemente debes configurarlo correctamente. Consulta el directorio
/etc/logrotate.d
Y el archivo
/etc/logrotate.conf
Su edición / modificación es muy sencilla e intuitiva, puesto que cada parámetro de configuración viene comentado con su correspondiente explicación.
Otra posibilidad, más "artesanal" es que tú mismo te crees un script personalizado de rotación de logs. En mi caso, por ejemplo, tenía tam, bien un problema con un log de servidor que superaba los 2Gb. Para evitarlo, programé el cron diario para que ejecutara el siguiente script:
#!/bin/bash
if [ `find /var/log/httpd/www.midominio.com/access.log -size +2000000k -print` ]; then
echo "Efectuando rotacion ..."
/etc/rc.d/init.d/httpd stop;
mv -f /var/log/httpd/www.midominio.com/access.log /var/log/httpd/www.midominio.com/access.log.`date --iso-8601`
/etc/rc.d/init.d/httpd start;
echo "Ok"
else
echo "Ok"
fi;
Este script, convierte el fichero access.log en access.log.2001-09-25, por ejemplo, si resulta que el día 25 el fichero access.log alcanza los 2 millones de Kb, un valor cercano al límite de un fichero en tamaño, 2 Gb.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas