Непрерывно контролируйте журналы с хвостом, которые иногда поворачиваются

У меня никогда не было общего пакета хостинга, который поддерживает любое время настройки к серверу, такому как APC или eAccelerator.

Единственным путем мне удалось сделать, который должен купить виртуальный частный сервер, где у меня есть полный доступ. Самый дешевый VPS, который я имел, составляет $30/месяцев.

21
задан 21 July 2016 в 03:59
7 ответов

А-ч, существует флаг для этого.

вместо использования tail -f /var/log/file мы должны использовать tail -F /var/log/file


tail -F переводит в tail --follow=name --retry как в;

  • --follow=name: следуйте за названием файла вместо дескриптора файла
  • --retry: если файл недоступен, попробуйте еще раз позже вместо смерти
34
ответ дан 2 December 2019 в 20:02

хвост-F или хвост - follow=name

5
ответ дан 2 December 2019 в 20:02

Кроме того, это могло бы быть немного слишком мощно в Ваших целях, но splunk имеет функцию хвоста, чтобы сделать точно, что Вы хотите. Это свободно максимум для 500 МБ/день, но если бы Ваши данные находятся кроме того в размере, это не стоило бы стоимости.

-1
ответ дан 2 December 2019 в 20:02
# tail --follow=mylog.log

От хвоста человека:

With --follow (-f), tail defaults to  following  the  file  descriptor,
       which  means that even if a tail’ed file is renamed, tail will continue
       to track its end.  This default behavior  is  not  desirable  when  you
       really want to track the actual name of the file, not the file descrip‐
       tor (e.g., log rotation).  Use --follow=name in that case.  That causes
       tail  to track the named file by reopening it periodically to see if it
       has been removed and recreated by some other program.

Таким образом в этом случае с помощью -F опция была бы корректна.

-F     same as --follow=name --retry
27
ответ дан 2 December 2019 в 20:02

Точный ответ зависит от Вашей ОС - но во многих случаях, tail -F сделает правильную вещь.

11
ответ дан 2 December 2019 в 20:02
  • 1
    Если хвост-F doesn' t работа, скомпилируйте версию хвоста-F, который делает. Другая альтернатива является короткой дорогой к сумасшедшему городу. –  chris 10 November 2009 в 22:23

По моему скромному мнению, это немного нечетно для изменения файла журнала РАЗМЕРОМ, а не по дате. Большинство системных журналов (в Unix или Linux) вращается на еженедельной или ежемесячной основе, а не на основе размера... Это - что-то, что я люблю по различным причинам и также чему-то, что, если реализовано, решило бы Вашу проблему.

Восемь лет спустя я не знаю то о чем, черт возьми, я говорил здесь: существуют тонны мест, где Вы хотите вращаться размером, потому что ежедневные/еженедельные/ежемесячные вращения могут привести к КРУПНЫМ файлам, которые могут вызвать серьезные проблемы.

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

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

2
ответ дан 2 December 2019 в 20:02
  • 1
    Я соглашаюсь, и это - одна вещь, я понял, что должен изучить. Надо надеяться, log4j поддерживает его.Спасибо! –  DivideByHero 10 November 2009 в 22:53
  • 2
    Одно ясное преимущество вращения размером - Вы, может быть уверено, что весь набор журналов будет меньше, чем некоторый известный размер. –  Jim Zajkowski 11 November 2009 в 17:28

Я использую команду на своем рабочем сервере:

tail --follow var/log/apache-access_log --retry
1
ответ дан 2 December 2019 в 20:02

Теги

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