log日志轮转--logrotate

  服务器上的日志包括系统日志和服务日志每天都会产生n多log,好多人会自己写脚本来进行日志的切割、压缩等,而忽略了系统自带的服务--logrotate。

  简介

  logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。它是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」。主流Linux发行版上都默认安装有logrotate包,这也是我选择用他的主要原因。

  使用

  实际运行时,Logrotate会调用配置文件「/etc/logrotate.conf」:

也可以在「/etc/logrotate.d」目录里放置自己的配置文件,用来覆盖Logrotate的缺省值。

下面是一个切割rabbitmq日志的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
/var/log/rabbitmq/*.log {
        weekly
        missingok
        rotate 20
        compress
        delaycompress
        notifempty
        dateext
        copytruncat
        sharedscripts      
        postrotate
            /etc/init.d/rabbitmq-server rotate-logs > /dev/null
        endscript

logrotate参数说明:

  1. daily — 每日旋转日志文件。
    weekly — 每周旋转日志文件。
    monthly — 每月旋转日志文件。

  2. compress — 用gzip压缩旋转的日志文件。

  3. size size — 在日志文件达到一定大小时开始旋转。大小是以bytes (默认), kilobytes (sizek)或megabytes (sizem)计算。

  4. nocompress — 在不需要压缩旋转日志文件的情况下使用。

  5. delaycompress — 在使用压缩选择时,旋转文件不会在下一个循环开始时被压缩。

  6. copytruncate — 用于还在打开中的日志文件,把当前日志备份并截。复制当前的日志文件,并置空当前文件。

  7. nocopytruncate — 把日志文件复制进备份,但该开放文件不会被裁剪。

  8. dateext - 用时间格式表示日志,轮换的日志后缀为-YYYYMMDD格式

  9. rotate count — 在删除前旋转文件的特定次数。如果计数为零,就意味着没有副本保留。而5则意味着保留5个副本。

  10. create mode owner group — 旋转日志文件并创建允许特定组合用户的新文件。缺省是使用与原始文件一样的模式,组合用户。

  11. missiongok - 如果文件找不到的话不会报错,直接跳过

  12. nocreate — 可以防止产生新日志文件。

  13. nodelaycompress –    日志文件会在循环过程中被压缩。

  14. errors address — 将logrotate错误邮件发送到某个地址。

  15. ifempty — 即使在空文件时也要旋转。这是Logrotate的缺省项。

  16. notifempty — 空文件不旋转。

  17. mail address — 这个邮件日志文件是循环到一个地址,因此能有效从系统中清楚。

  18. nomail - 在邮件日志循环时,副本不邮寄。

  19. olddir directory — 这个选项会将循环日志文件保持在特定目录。该目录必需与现有日志文件在同一文件系统。

  20. noolddir — 循环的日志文件与现有文件处于相同目录。

  21. prerotate/endscript - 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

  22. postrotate/endscript - 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

其他参数可自行通过man logrotate查看帮助。






      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1861431,如需转载请自行联系原作者






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...

Previous: elasticsearch外用与内观(一)-常用功能与使用方法 在了解了es的基本用法之后,我们再来看看当插入文档数据时,elasticsearch都在做什么。首先,es的索引只是一个逻辑概念,实际上是由一个个物理分片组成的,每个分片就是一个…

学习Spring Data JPA

简介 Spring Data 是spring的一个子项目,在官网上是这样解释的: Spring Data 是为数据访问提供一种熟悉且一致的基于Spring的编程模型,同时仍然保留底层数据存储的特​​殊特性。它可以轻松使用数据访问技术,可以访问关系和非关系…

azure多功能成像好用吗_Azure持久功能简介:模式和最佳实践

azure多功能成像好用吗Authored with Steef-Jan Wiggers at Microsoft Azure由Microsoft Azure的Steef-Jan Wiggers撰写 With Durable Functions, you can program a workflow and instantiate tasks in sequential or parallel order, or you can build a watch or support a…

leetcode 327. 区间和的个数(treemap)

给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。 说明: 最直观的算法复杂度是 O(n2) ,请在此…

常用的工具函数

得到两个数组的并集, 两个数组的元素为数值或字符串//tools.js export const getUnion (arr1, arr2) > {return Array.from(new Set([...arr1, ...arr2])) }//调用页面 import { getUnion } from /libs/toolsthis.getUnion getUnion([1,2,3,5],[1,4,6]) //(6) [1, 2, 3,…

git 常用commands(转)

常用 Git 命令清单 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是…

Win2003磁盘分区调整

引用如下: 可能大家都知道,在Windows Server 2003下,普通版本的分区魔术师是无法运行的,而Windows内置的命令行工具Diskpart则能胜任分区魔术师的大部分工作,它的功能非常强大。输入Diskpart后,将显示如图所…

检查集群状态命令_轻松管理Kubernetes集群的7个工具

Kubernetes正在不断加快在云原生环境的应用,但如何以统一、安全的方式对运行于任何地方的Kubernetes集群进行管理面临着挑战,而有效的管理工具能够大大降低管理的难度。K9sk9s是基于终端的资源仪表板。它只有一个命令行界面。无论在Kubernetes仪表板Web …

leetcode 122. 买卖股票的最佳时机 II(贪心算法)

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉…

前端绘制绘制图表_绘制图表(第2页):JavaScript图表库的比较

前端绘制绘制图表by Mandi Cai蔡曼迪 绘制图表(第2页):JavaScript图表库的比较 (Charting the waters (pt. 2): a comparison of JavaScript charting libraries) 深入研究D3.js,Dygraphs,Chart.js和Google Charts (A deep dive into D3.js,…

python 3.6.5 pip_在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU

声明什么cuDNN之类的安装,应该是毫无难度的,按照官网的教程来即可,除非。。。像我一样踩了狗屎运。咳咳,这些问题不是本文的关键。本文的关键是解决pip安装tensorflow gpu版的问题。安装环境操作系统:64位的Windows 10…

模板进阶——模板实参推断

一、关键点 模板实参:模板参数T的实例类型,如int、string等 模板实参推断:从函数实参来确定模板实参的过程 模板类型参数与类型转换:const的转换、数组/函数到指针的转换 显式模板实参:当模板参数类型并未出现在函数参…

leetcode 973. 最接近原点的 K 个点(排序)

我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。 (这里,平面上两点之间的距离是欧几里德距离。) 你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。 示例 1&#xf…

ios 打开扬声器

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; AVAudioSession *audioSession [AVAudioSession sharedInstance]; //默认情况下扬声器播放 [audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthe…

sqlserver 批量处理数据

目前我觉得有两种方法可以用作批量数据的处理,也算比较靠谱的吧:sqlbulkcopy 和利用表值函数。 1.sqlbulkcopy是dotnet中的一个用来处理大批量插入数据的,具体用法如下: using (SqlConnection conSave new SqlConnection(Config.…

区块链编程语言_区块链开发中使用的最受欢迎的编程语言

区块链编程语言by Michael Draper通过迈克尔德雷珀(Michael Draper) We’re currently in the midst of a new burgeoning industry with blockchain development.我们目前正处于区块链开发的新兴行业中。 Blockchain technology is very much in a nascent stage, however t…

vscode 模糊部分代码_本周 GitHub 速览:您的代码有声儿吗?(Vol.38)

作者:HelloGitHub-小鱼干摘要:还记得花式夸赞程序员的彩虹屁插件 vscode-rainbow-fart 吗?它后续有人啦!JazzIt 同它的前辈 vscode-rainbow-fart 一样,是一个能让代码“发声”的工具,它会在脚本运行成功或者…

有趣的链接

1行命令实现人脸识别:https://linux.cn/article-9003-1.html转载于:https://blog.51cto.com/10704527/1983007

webpack基础使用Loader(三)

loaders:[ { test:/\.js$/, loader:babel-loader, exclude:__dirname"/node_modules/", //排除打包的范围(需要绝对路径) include:__dirname"src",//指定打包的范围(需要绝对路径) query:{ …

Flutter VS React Native –为什么我认为Flutter最适合移动应用程序开发

This isn’t the type of article you might think it’s going to be. I’m not going to list the pros and cons of every framework and I am not going to do a comparative analysis of performance. 这不是您可能会想到的文章类型。 我不会列出每个框架的优缺点&#xf…