Linux系统自带的logratate自带的日志滚动压缩的工具,性能很高,经常使用来压缩程序的日志。

参考:

lograte 实现方式原理

参考:

http://www.cnblogs.com/sailrancho/p/4784763.html

记住默认滚动的方式是最好的,建议不要去改成第二种(copyctruncate)。

第二种方式是,比如你要滚动,nginx_access.log,copyctruncate的实现方式是,

第一步: cp nginx_access.log nginx_acessess.log-20170708

第二步: echo "" >  nginx_access.log

优点是:

nginx_access.log 的文件句柄 ,file 的inode永远不变,应用程序写的文件句柄一直同一个。

缺点是:

第一步和第二步的这个时间过程中的日志会丢失。

而第一种方式是:create的方式:

第一步: mv nginx_access.log nginx_acessess.log-20170708

第二步: touch nginx_access.log(logrotate 做到动作)

优点是:

日志不会丢失,mv重命名之后,nginx的程序写入的日志将会是nginx_acessess.log-20170708(因为inode没有改变),所以不会丢失日志。但是为了解决 日志如何才能写入到新的文件access.log中,所有logratate中提供了 滚动之后,可以执行脚本比如 reload nginx 重新nginx,所以nginx会重读access.log这个日志文件。

比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
/data1/logs/nginx/*.log
/data2/logs/nginx/*.log{
        daily
        missingok         #如果日志文件不存在,logratete 会报错,这个来关闭这个报错。
        rotate 32
        compress
        delaycompress     #延迟一天进行压缩,通compress一同使用
        notifempty           # Do not rotate the log if it is empty
        sharedscripts       #无论日志匹配了几个,postrotate 脚本只执行一次
        postrotate   
                [ -f /data1/env/nginx/logs/nginx.pid ] && kill -USR1 `cat         /data1/env/nginx/logs/nginx.pid`
        endscript
}

####

其他疑问和解决:

1. 如何改变滚动的日志的权限,

参数:

create mode owner group

默认滚动的新日志的权限,是和上一个日志权限继承过来的。

2. 压缩的时间

决定/usr/sbin/logrotate -f /etc/logrotate.conf 这个的执行时间。默认是

cat /etc/cron.daily/logrotate  和  cat /etc/anacrontab

决定了默认是在凌晨3:00多点的随机时间执行。

如果要改成每天定时呢?

推荐方案:

第一步: 注释默认

cat /etc/cron.daily/logrotate  文件内容注释

第二步:添加压缩的crontab

# Puppet Name: # 零点压缩日志

59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf >/dev/null 2>&1

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1945530如需转载请自行联系原作者
cuizhiliang

logrotate - rotates, compresses, and mails system logs相关推荐

  1. 15.2. logrotate - rotates, compresses, and mails system logs

    logrotate 的配置文件是 /etc/logrotate.conf.主要参数如下表:参数 功能 compress 通过gzip 压缩转储以后的日志 nocompress 不需要压缩时,用这个参数 ...

  2. See system logs and 'systemctl status xxx.service' for details.错误的解决方法

    启动apache服务出现Job failed. See system logs and 'systemctl status' for details. 2012-02-23 22:00 [root@l ...

  3. 【异常检测第一篇】DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning

    前言 异常检测也属于时间序列问题的一个大分支,记下来一段时间我也会定期分享一些这方面的内容,结合很多ML,DL知识的异常检测和诊断问题,我们一起努力! 笔记很长,请细心阅读~ 一. Address p ...

  4. ubuntu 系统提示 You are in emergency mode. type “journalctl -xb” to view system logs

    ubuntu 系统提示 journalctl -xb 故障现象 故障原因 解决办法 故障现象 ubuntu 系统提示 You are in emergency mode. type "jou ...

  5. ubuntu启动无法进系统:emergency mode! After logging in, type journalctl -xb to view system logs,

    报错:Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, ...

  6. DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning

    DeepLog: 基于深度学习对系统日志进行异常检测和诊断 Min Du, Feifei Li, Guineng Zheng, Vivek Srikumar School of Computing, ...

  7. Linux日志收集logrotate原理介绍

    前言 在Linux环境中能够帮助我们分析问题蛛丝马迹的有效办法之一便是日志,常见的如操作系统syslog日志/var/log/messages,应用程序Nginx日志/var/log/nginx/*. ...

  8. logrotate 配置

    本文接上篇 rsyslogd 用 rsyslog 收集了上百G的日志后,得用另一个Linux自带的脚本: /usr/sbin/logrotate 自动的压缩,分割,归档好历史日志. logrotate ...

  9. Linux 日志 klogd,菜鸟学Linux 第038篇笔记 日志系统 syslogd,klogd

    菜鸟学Linux 第038篇笔记 日志系统 syslogd,klogd Linux上的日志系统 syslog开源 syslog-ng  商业版 日志系统 syslog syslog 服务 syslog ...

最新文章

  1. Java内部类手机专卖店_JAVA——内部类的那些事儿
  2. FPGA开发要懂得使用硬件分析仪调试——ILA
  3. python 对字典排序
  4. access 按日期分列_excel的分列功能居然这么强大,赶紧收藏起来
  5. [国家集训队]最长双回文串 manacher
  6. 数据“被”覆盖有假象,SQL数据库恢复终极绝招(数据恢复高级技术)
  7. 基于Tensorflow实现FFM
  8. Spring的@bean注解
  9. 给硬盘分个整数大小的区
  10. geotools 影像切片 缩放
  11. CMD命令查看IP地址
  12. Sublime 编译汇编程序
  13. 阿里 离线数据同步工具 DataX 初试
  14. 关于new pad利用iPad12的资源缩放的问题 contentScaleFactor设置
  15. 我裂开了,教给他如何搭建和使用代理服务器,他居然用来做这么不正经的事(爬虫,代理ip)
  16. 软件项目工程中应该编写的十三类文档
  17. 现场总线与计算机网络的最大区别,现场总线与局域网的区别是什么
  18. 安卓性能优化——布局性能优化
  19. android killer 连接模拟器,AndroidKiller怎么连接夜游神手机模拟器的方法教程
  20. 原生js高仿浏览器ctrf+f

热门文章

  1. 内蒙古邮政计算机考试题目,内蒙古银行考试_邮政储蓄银行考试计算机笔试题...
  2. 线程池详解:线程池的七大参数及运行流程
  3. 操作系统 FIFO 先进先出页面置换算法
  4. 作为 CIO,构建一个商业智能 BI 分析平台应该重点关注什么?
  5. 【软件测试】300个不得不懂的理论知识(上)
  6. 中国最美的100句诗
  7. 图片压缩 in Android
  8. 图的连通性和连通分量
  9. Javascript迭代、迭代、穷举、递归常用算法
  10. java中的返回值到底有什么用?