开发者社区> 问答> 正文

利用Logrotate实现weblogic日志每日备份后出现大量空字符

想利用Logrotate实现对weblogic日志的每日备份,且不改变原日志文件名称和权限;

nohup.out是通过nohup命令生成的weblogic应用日志,配置完成后备份文件生成成功,但nohup.out前部出现大量十六进制为“00 00”的空字符,logrotate.conf中添加的配置内容如下:

/home/bea1/base_domain/bin/nohup.out{  
    daily  
    copytruncate  
    dateext  
    olddir /home/bea1/base_domain/bin  
    nocompress  
    rotate 100  
}/home/bea1/base_domain/bin/nohup.out{  
    daily  
    copytruncate  
    dateext  
    olddir /home/bea1/base_domain/bin  
    nocompress  
    rotate 100  
}

展开
收起
a123456678 2016-06-17 15:38:50 2450 0
1 条回答
写回答
取消 提交回答
  • 不要用 nohup,因为它不知道 logrotate 已经把日志文件轮换了。不知道有没有现成的工具,没有的话自己拿 C 或者 Python 写一个也不难。其需要实现的功能如下:

    在新进程组中运行指定的程序
    捕获程序的输出,并将其写到指定的文件
    在指定信号(比如 SIGHUP)时关闭并重新打开日志文件
    然后你的 logrotate 配置不需要 copytrucate,可以压缩(同时开 delaycompress),加句 postrotate 命令。

    2019-07-17 19:42:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载