La rotación de logs es una práctica esencial para garantizar que los archivos de log no consuman todo el espacio disponible en el sistema. Apache2 por sí mismo no tiene una funcionalidad interna completa de rotación de logs, pero en la mayoría de los sistemas, puedes usar logrotate
para lograrlo.
Aquí hay un procedimiento básico sobre cómo configurar la rotación de logs para Apache2 cada 24 horas usando logrotate
:
- Instalación de logrotate: Si aún no tienes instalado
logrotate
, puedes hacerlo usando el gestor de paquetes de tu sistema operativo. Por ejemplo, en un sistema basado en Debian/Ubuntu:
sudo apt update
sudo apt install logrotate
- Configuración de logrotate para Apache2: Por lo general, hay una configuración de
logrotate
específica para Apache2 ya presente en/etc/logrotate.d/apache2
. Sin embargo, si no existe, puedes crear uno. Para configurar la rotación de logs cada 24 horas, deberías editar o crear el archivo/etc/logrotate.d/apache2
:
sudo nano /etc/logrotate.d/apache2
Y luego, agregar o editar el contenido para que se vea más o menos así:
/var/log/apache2/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if /etc/init.d/apache2 status > /dev/null ; then \
/etc/init.d/apache2 reload > /dev/null; \
fi;
endscript
}
Explicación de las directivas:
daily
: Rota los logs diariamente.missingok
: No produce un error si falta un archivo de log.rotate 14
: Guarda 14 copias de archivos de respaldo.compress
: Comprime las copias de seguridad (excepto la más reciente) congzip
.delaycompress
: Retrasa la compresión de la última copia de seguridad para facilitar la lectura.notifempty
: No rota el archivo si está vacío.create
: Crea un archivo nuevo con los permisos especificados después de la rotación.sharedscripts
: Ejecutapostrotate
yendscript
una vez, no por cada archivo de log.postrotate
…endscript
: Estos scripts se ejecutan después de que se ha llevado a cabo la rotación. En este caso, estamos verificando el estado de Apache2 y, si está en ejecución, recargándolo para que comience a escribir en los nuevos archivos de log.
- Verifica la configuración de logrotate: Una vez que hayas configurado
logrotate
, es una buena idea probar la configuración para asegurarte de que funcione correctamente:
sudo logrotate -d /etc/logrotate.d/apache2
La opción -d
o --debug
muestra lo que haría el programa sin realmente cambiar ningún archivo o ejecutar ningún script.
- Ejecución Automática:
logrotate
se ejecuta automáticamente a través decron
osystemd-timer
en la mayoría de los sistemas. Si configuraste la rotación para que sea diaria, se encargará automáticamente de rotar tus logs cada 24 horas.
Espero que esto te ayude a configurar la rotación de logs para Apache2. ¡Buena suerte!

Contenido restringido
Comments are closed