Файлы журналов преставляют собой простые текстовые файлы, в конец которых добавляются новые поступающие сообщения. Как правило, администратора интересует информация о событиях, произошедших не так давно относительно текущего момента — искать информацию в многомегабайтном журнале за последний год не так просто. Кроме того, при увеличении размеров файлов журналов они могут теоретически занять все свободное место на диске, так что администратору придётся очищать их время от времени.
Для решения этих проблем используется так называемая ротация журналов: процесс автоматического обновления файлов журналов — удаления и архивация старых файлов и создание новых.
Для каждого из файлов журнала можно задать следующее:
- как часто производить ротацию (обновлять файл журнала);
- как долго хранить старые файлы журналов;
- производить ли сжатие старых файлов;
- выполнять ли дополнительные действия при обновлении журнала.
Журнал может обновляться по времени (например, раз в неделю или раз в месяц) или по объёму (например, при достижении размера в 1 Мб). При этом старый файл журнала сохраняется с именем имя_журнала.0, а все предыдущие версии журналов (за позапрошлую неделю и т.п.) переименовываются с увеличением числа на единицу. Например:
|
|
В данном примере журналы аутентификации хранятся в течение восьми недель, при этом все старые файлы сжимаются. Сжатие может быть очень полезно для экономии места на диске.
Некоторые приложения требуют явного оповещения при обновлении файла журнала. Поэтому программы ротации обычно предоставляют возможность запуска утилиты до или после проведения обновления.
В операционной системе Linux для ротации журналов используется программа logrotate. В других UNIX-системах используются аналогичные, часто встроенные средства.