Logrotate добавляет “1” в конце сжатого файла

Я нашел некоторые другие ответы, и похоже, что WPKG сделает задание.

1
задан 18 June 2014 в 12:33
4 ответа

Logrotate по умолчанию добавляет номер в файл. Это значит, что если он используется для таких имен файлов, как, например, / var / log / messages , повернутые журналы будут называться /var/log/messages.0 и / var /log/messages.1 и т. д.

Ваша ситуация несколько иная, поскольку у вас уже есть отметка времени в имени файла, так что расширение не нужно. Logrotate не имеет возможности не использовать расширение, но есть обходной путь, который вы могли бы использовать.

Альтернативой использованию числовой последовательности является использование даты / времени. По умолчанию это -% Y% m% D , например -20140618 . Но вы можете настроить, как должна выглядеть строка - в вашем случае это будет пустая строка. Вы бы сделали это, используя следующую конфигурацию:

dateext          # to use dateformat string instead of sequential numbers
dateformat ''    # to use an empty string as the dateext
3
ответ дан 3 December 2019 в 16:21

Вы не делаете ничего плохого, это стандартное и ожидаемое поведение. Если вы хотите другое расширение, например дату, вы можете указать dateext

dateext Архивируйте старые версии файлов журналов, добавляя ежедневное расширение, например ГГГГММДД, вместо простого добавления числа. Расширение можно настроить с помощью параметра dateformat.

Из вышесказанного вы также можете увидеть, что поведение по умолчанию, как ожидается, будет простым добавлением числа .

3
ответ дан 3 December 2019 в 16:21

У вас есть опция повернуть 30 в вашей конфигурации, что означает, что 30 старых версий сохраняются перед удалением. Этот номер показывает, как logrotate различает версии. Таким образом, вы не делаете ничего плохого, и программа ведет себя так, как задумано.

2
ответ дан 3 December 2019 в 16:21

Это нормальное поведение для logrotate, как вы его описали.

Обычно вам нужно регистрировать файлы журнала не через скрипт, а через cronjob (s).

Для сжатия файлов через logrotate, вы не можете включать дату и позволить logrotate обрабатывать dateext.

Таким образом, для «решения» вашей проблемы вы можете использовать параметры logrotate

dateext 

и пропустить запись дня в ваше имя файла.

Это будет "удалите" 1, которое вы видите в имени файла.

1
ответ дан 3 December 2019 в 16:21

Теги

Похожие вопросы