Назад | Перейти на главную страницу

Как сохранить временную метку файла (дату изменения) после logrotate?

Название говорит само за себя, я ежедневно настраиваю ротацию журналов для некоторых довольно больших файлов журналов. Иногда мы можем генерировать 3 из них в день, иногда мы генерируем только 1, каждый размером около 500 МБ. Есть ли способ сохранить дату изменения файла после ротации журнала? Гораздо проще сразу отметить эти даты при поиске чего-либо в журналах, чем начинать и отслеживать каждый файл в поисках дат.

На ум сразу приходят два варианта:

  • Вы заставляете logrotate добавлять дату в повернутые файлы журнала, используя опцию dateext. Если вы выполняете ротацию вскоре после полуночи, вы можете захотеть, чтобы в файле журнала было имя предыдущего дня; вы можете сделать это с помощью опции dateyesterday.
  • Вы можете использовать postrotate для запуска команды, например touch -m yesterday после того, как файл был повернут, чтобы изменить время изменения файла на предыдущий день.

man logrotate.conf и info coreutils 'touch invocation' это хорошие места для начала поиска дополнительной информации.

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