Как атомарно измениться / поворачивают файл журнала каждую минуту?

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

6
28.05.2013, 23:41
2 ответа

Сделайте файл журнала FIFO (man mkfifo) и помещенный процесс на сторону чтения, которая разделяет ее вход на файлы ограниченного размера.

mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app
5
27.01.2020, 20:27
  • 1
    Хороший запуск, но я ищу полное решение. Не то, чтобы Ваш плох, но я был очень surpised, что в 2013 минимальное время вращения для всех daily как в logrotate. Все говорят о больших данных, контролируя и так далее, но я чувствую себя подобно единственному, нуждающемуся в большом частом вращении... –  Cerber 29.05.2013, 19:54
  • 2
    @Cerber, означающее, что? logrotate может вращаться размером также, если я помню правильно. –  Hauke Laging 29.05.2013, 20:32
  • 3
    ooooooops, Вы имели в виду split команда ядра Unix. Жаль @HaukeLaging я прочитал Ваш ответ слишком быстро. Я проверю, что на моем приложении –  Cerber 29.05.2013, 20:46
  • 4
    Привет Отстающий Hauke, я продолжал несколько тестов, но я не могу разобраться в нем: split не подходит для основанного на времени разделения, таким образом, я думал к 'crontab' это. Но я запустил с простого решения: Я записал сценарий жемчуга, который выводы в FIFO каждый нумерует от 0 до 10 000 со сном на 100 мс. Я выполнил это в фоне и сделал a head на нем для сбора первых байтов только для проверки этого два head вызовы не повредили бы последовательность... unfortunalty, я получил a [1]+ Broken pipe perl script.pl >log в первом head. Поэтому я думаю split не работал бы. Что я пропускаю? –  Cerber 04.06.2013, 21:14

Возможно, logrotate инструмент может обработать это.

2
27.01.2020, 20:27
  • 1
    logrotate потребности, по крайней мере, немного поддержки со стороны приложения, из-за пути файлы работают в Unix. Если файл журнала будет переименован, не уведомляя приложение в некотором роде, то приложение продолжит писать в переименованный файл, вместо того, чтобы начинать писать в новый файл со старым названием. man 8 logrotate и отметьте "постповорачивать" команду в примерах. –  Jander 29.05.2013, 11:43
  • 2
    около, logrotate минимум daily ... который очень далек от того, что я хочу достигнуть –  Cerber 29.05.2013, 19:50
  • 3
    На самом деле можно вызвать вращение в зависимости от размера файла. Но это верно, что Вы нуждаетесь или в помощи приложения или в перезапуске это для журнала, который будет повернут. –  Spack 29.05.2013, 20:50

Теги

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