Система ротации логов в Ubuntu работает с помощью системной службы logrotate. 1 Она осуществляет периодическую замену старых логов новыми, помещая устаревшие данные в архив или просто удаляя их. 1
Процесс происходит так: 2
- По заранее определённому графику или когда файл достигает заданного размера, лог-файл переименовывается. 2
- К имени файла добавляется автоинкрементирующий номер или отметка времени, чтобы указать время ротации. 2
- Создаётся новый лог-файл с тем же именем, чтобы захватить последние записи из приложения или сервиса. 2
- Запускается процесс очистки, чтобы не происходило накопления ротированных лог-файлов: удаляются старые логи за пределами указанного периода хранения. 2
- Этот процесс повторяется бесконечно, пока работает механизм ротации логов. 2
В зависимости от настроек архив логов может храниться как в сжатом, так и в несжатом виде и иметь необходимую глубину. 1
Основные настройки ротации хранятся в /etc/logrotate.conf, а отдельные службы могут иметь собственные настройки ротации, которые хранятся в специальных файлах в директории /etc/logrotate.d. 1