Я нашел некоторые другие ответы, и похоже, что WPKG сделает задание.
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
Вы не делаете ничего плохого, это стандартное и ожидаемое поведение. Если вы хотите другое расширение, например дату, вы можете указать dateext
dateext Архивируйте старые версии файлов журналов, добавляя ежедневное расширение, например ГГГГММДД, вместо простого добавления числа. Расширение можно настроить с помощью параметра dateformat.
Из вышесказанного вы также можете увидеть, что поведение по умолчанию, как ожидается, будет простым добавлением числа
.
У вас есть опция повернуть 30
в вашей конфигурации, что означает, что 30 старых версий сохраняются перед удалением. Этот номер показывает, как logrotate различает версии. Таким образом, вы не делаете ничего плохого, и программа ведет себя так, как задумано.
Это нормальное поведение для logrotate, как вы его описали.
Обычно вам нужно регистрировать файлы журнала не через скрипт, а через cronjob (s).
Для сжатия файлов через logrotate, вы не можете включать дату и позволить logrotate обрабатывать dateext.
Таким образом, для «решения» вашей проблемы вы можете использовать параметры logrotate
dateext
и пропустить запись дня в ваше имя файла.
Это будет "удалите" 1, которое вы видите в имени файла.