Logrotate: «log не нужно вращать» почему?

У меня есть следующая новая конфигурация logrotate:

/var/log/nexus/nexus.log { rotate 7 missingok compress delaycompress copytruncate daily } 

Когда я запускаю logrotate -d nexus , я получаю следующее:

 reading config file nexus reading config info for /var/log/nexus/nexus.log Handling 1 logs rotating pattern: /var/log/nexus/nexus.log after 1 days (7 rotations) empty log files are rotated, old logs are removed considering log /var/log/nexus/nexus.log log does not need rotating 

Моя / var / log / nexus / папка содержит следующее:

 nexus.log oldlogs.tar.gz 

Почему LogRotate не вращает файл nexus.log? Я ожидал, что файл nexus.log был бы усечен, и был бы создан новый файл, похожий на nexus.log-201106241000.

  • Удаление файлов только с помощью logrotate
  • logrotate записывает старый app.log.1 вместо app.log
  • Как управлять всеми журналами на VPS
  • лотровать каждые 2 часа
  • logrotate не работает
  • logrotation - вращение и команда maxage
  • inotifywatch: продолжить просмотр после вращения файла
  • Периодически получать новые строки из файла, возможно, зависания
  • 4 Solutions collect form web for “Logrotate: «log не нужно вращать» почему?”

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

    Если вы добавите -f это заставит вращение, если вы действительно хотите (хотя не 100% уверены, как это взаимодействует с -d ).

    Вы можете посмотреть историю, местоположение зависит от вашего дистрибутива, но может быть /var/lib/logrotate/status . Этот файл показывает, когда журналы были повернуты последним.

    В первый раз, когда вы запускаете logrotate с новой конфигурацией журнала, он не знает, когда произошел последний поворот журнала, поэтому он просто записывает строку состояния в /var/lib/logrotate/status которая была запущена сегодня.

    Когда он на следующий день запускается, он видит, что журнал является днем ​​и поворачивает его, как ожидалось. Если вы не хотите ждать, отредактируйте файл состояния logrotate и запустите дату статуса для своего журнала в предыдущий день.

    Когда вы запускаете logrotate вручную, он будет работать как ожидалось

    Иногда даже если вы запустили logrotate вручную, это не сработает, если вы сделаете это в тот же день и получите dateext где значение по умолчанию не включает senconds (например, -%Y%m%d ). Даже если вы изменяете файл состояния logrotate или при использовании директивы размера (например, size 200M ). По крайней мере, на CentOS 6 logrotate не сможет повернуть файл журнала, поскольку он уже существует.

    Чтобы решить эту проблему, вам нужно использовать dateformat вместо dateext со значением, например: %Y%m%d%s .

    См. man logrotate для получения дополнительной информации.

    Остерегайтесь,

     logrotate -vdf /etc/logrotate.conf 

    событие, хотя только симулированное wille должно быть зарегистрировано в /var/lib/logrotate.status и последующие прогоны logrotate ответят указанным

     log does not need rotating 
    Interesting Posts

    Добавить открытый ключ к авторизованным ключам удаленного сервера и выполнить некоторые команды

    / proc / sys vs / sys / modules / mod / parameter

    Почему мое окно терминала говорит андроид перед пользователем?

    Каков источник «скомпилировать его самостоятельно» в linux

    Прошивка ath10k не обновляется для 168c: 0041

    Как убедиться, что я использую последнюю версию bash?

    Требование пароля для всех файлов с указанным расширением

    Как форматировать потоковый вывод JSON из Node.js?

    Где zypper устанавливает ключи для подписи хранилища или пакета?

    Как получить сообщения ядра на последовательной консоли в системе systemd?

    Начать Vim как мой пользователь с привилегиями root

    Есть ли более простой способ манипулировать данными GRUB 2?

    Индикатор жесткого диска мигает, когда у меня заканчивается память, но у меня нет своп-конфигурации

    Выдача сертификата кукольного агента

    Условие Awk вместе с заголовком

    Linux и Unix - лучшая ОС в мире.