Как сохранить последние 20 МБ из файла журнала Unix. (Без Logrotate и без воссоздания файла) - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу обрезать файл (hive.log) в unix, сохранив последние 20 МБ, и поскольку файл используется другими приложениями, я не хочу рисковать, чтобы воссоздать его.

Iпробовал команду unix truncate, но она усекается случайным образом и не может найти никакой опции, соответствующей моему требованию.

1 Ответ

0 голосов
/ 29 ноября 2018

куст использует Log4j для ведения там логов.Поэтому все, чего вы хотите достичь, можно сделать, изменив log4j property file.

Расположение файла: /etc/hive/conf/hive-log4j.properties

Содержание Вам должно быть интересно

log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DRFA.File=${hive.log.dir}/${hive.log.file}

# Rollver at midnight
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd

# 30-day backup
#log4j.appender.DRFA.MaxBackupIndex= 30
log4j.appender.DRFA.MaxFileSize = 256MB
log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout

log4j.appender.DRFA = org.apache.log4j.DailyRollingFileAppender

Говорит, что это ежедневный вращающийся файл

log4j.appender.DRFA.MaxBackupIndex = 30

Говорит, что будет хранить 30 резервных копий журналов.

log4j.appender.DRFA.MaxFileSize = 256 МБ. Говорит, что максимальный размер файла составляет 256 МБ.

Теперь вы знаете, какие свойства вам нужно изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...