如何保留unix日志文件的最后20 mb(不使用logrotate,也不重新创建文件)

bxpogfeg  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(307)

我想在unix中通过保留最后20 mb来截断一个文件(hive.log),由于该文件正被其他应用程序使用,我不想冒任何风险重新创建它。
我试过unix truncate命令,但它会随机截断,找不到任何选项来满足我的要求。

ctehm74n

ctehm74n1#

hive 用途 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=256mb表示最大文件大小为256mb。
现在您知道需要更改哪些属性了。

相关问题