Config de journald en conf.d sobreescribe la retención de logs
Un usuario descubrió que su archivo de retención de 24 meses era ignorado por otro drop‑in, dejando solo 7 días de logs.
El administrador había configurado
Set MaxRetentionSec=24month
en
/etc/systemd/journald.conf.d/retention.conf
por meses y, al requerir logs de hace dos meses, se dio cuenta de que el más antiguo del sistema era solo de 7 días. La causa era otro archivo en la misma carpeta, size.conf, que contenía la directiva SystemMaxUse=100M. Systemd aplica los archivos de conf.d en orden alfabético y la última aparición de una opción prevalece. En este caso, size.conf sobreescribía la política de retención.
Para verificar la configuración real, dos comandos resultaron útiles:
systemd-analyze cat-config systemd/journald.conf -muestra la configuración final que se está usando.journalctl -o short-iso | head -1revela la entrada más antigua que realmente existe.
La solución fue eliminar los archivos redundantes y conservar un único archivo, por ejemplo zz-retention.conf, asegurando que no haya archivos posteriores que lo sobreescriban. Además, se añadió SystemKeepFree=2G para evitar que el journal ocupe todo el espacio disponible.
¿Alguien más ha comprobado la diferencia entre la retención declarada y la real?
