一、案例要求:

创建一个日志文件/tmp/test_logrotate.log,然后使用logrotate来管理日志,每天滚动一次,文件大小上限为10M,保留5个日志,旧日志用时间命名。

二、实现步骤

1、创建日志文件

touch /tmp/test_logrotate.log

2、创建logrotate子配置文件

vim /etc/logrotate.d/test_logrotate.conf
/tmp/test_logrotate.log{dailysize 10Mrotate 5dateextcompress
}

3、测试1

(1)向test_logrotate.log文件中添加小于10M的内容

dd if=/dev/zero of=/tmp/test_logrotate.log bs=9M count=1
ls -lh /tmp/test_logrotate.log

(2)执行任务

logrotate /etc/logrotate.d/test_logrotate.conf
ls /tmp/test_logrotate*

出现错误:文件切割权限问题

[root@192 logrotate.d]# logrotate /etc/logrotate.d/test_logrotate.conf
error: skipping "/tmp/test_logrotate.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root")
Set "su" directive in config file to tell logrotate which user/group should be used for rotation.

解决方法:
方法一:去掉对应日志父目录的“w”组权限 ---- g-w
方法二:在对应的logrotate配置文件中添加“su <dir_user> <dir_group>”

采用方法二解决:

再次执行下面命令,可知日志文件没有被分割,因为日志文件大小是9M,不足10M。

logrotate /etc/logrotate.d/test_logrotate.conf
ls /tmp/test_logrotate*

(3)向test_logrotate.log文件中添加大于10M的内容

dd if=/dev/zero of=/tmp/test_logrotate.log bs=11M count=1
ls -lh /tmp/test_logrotate.log

(4)执行任务

logrotate /etc/logrotate.d/test_logrotate.conf
ls /tmp/test_logrotate*

4、测试2

(1)在配置文件中添加create参数

PS:create 0664 root root   #指定滚动后创建的新文件的权限为0644,数组为root,属组为root

(2)执行任务

PS:执行主配置文件也是可以把/tmp/test_logrotate.log分割成功,因为执行主配置文件会时会把所有配置文件(主配置文件+子配置文件)的任务都执行。

logrotate /etc/logrotate.conf

5、日志文件的滚动方式:手动+自动

(1)手动:自己写脚本定义周期计划任务实现滚动
(2)自动:使用系统自定义的周期计划任务实现滚动

Linux日志系统-05:案例1-实现临时日志文件滚动分割相关推荐

  1. 安卓日志系统初探(带你了解Android日志系统的概貌)

    目录 1 介绍 2 ADB的原理 2.1 adbd服务进程 2.2 ADB 服务端 2.2.1 USB方式 2.2.2 网络方式 2.2.3串口方式 2.3 ADB 客户端 3 安卓框架中日志的收集和 ...

  2. docker(10、日志管理4)5、Graylog 日志系统(1、部署Graylog日志系统,2、Graylog管理日志)

    部署Graylog日志系统 Graylog 是与 ELK 可以相提并论的一款几种式日志管理方案,支持数据收集.检索.可视化Dashboard. 将实践用Graylog来管理Docker日志 Grayl ...

  3. 查找磁盘占用最大的文件linux,linux查找系统中占用磁盘空间最大的文件

    Q:下午有一客户磁盘空间占用很大,使用df查看磁盘剩余空间很小了,客户想知道是哪些文件占满了文件. Q1:在Linux下如何查看系统占用磁盘空间最大的文件? Q2:在Linux下如何让文件夹下的文件让 ...

  4. linux找不到镜像文件,为什么我从硬盘安装Linux,系统总是提示找不到iso文件??...

    说明如下: 1.C.D.E.F都为FAT32格式 2.参考了许多网上的资料 3.自己做了启动盘--成功 4.采用dos下也可以执行安装程序 5.我的光驱坏了不能读 6.三张安装光盘,其中第一张已经损坏 ...

  5. linux 常用命令05 常用的压缩与解压缩文件

    zip/unzip ----zip格式 使用方式:zip -r 压缩包名 原材料 -r代表递归子目录 原材料可以有多个 例如:zip -r bb.zip bb hello 对应的解压缩:unzip b ...

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

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

  7. C++系统日志库精选:深入剖析glog与log4cplus,轻松搭建高效日志系统

    目录标题 引言 日志系统的重要性 glog与log4cplus简介与应用场景 C++日志系统库的选择依据 glog基础知识 glog库的关键功能 glog库的安装与使用 glog库的基本日志功能与级别 ...

  8. cx_oracle写日志信息_日志系统的设计

    笔者在写作本章节的时候,并不敢把此章节的标题叫做<高性能日志系统的设计>,之所以不敢加上"高性能"三个字的原因是: 第一,我对于日志系统设计知识和经验都来自于学习和工作 ...

  9. 使用 ClickHouse 构建通用日志系统

    使用 ClickHouse 构建通用日志系统 序言 ClickHouse 是一款常用于大数据分析的数据库,因为其压缩存储,高性能,丰富的函数等特性,近期有很多尝试 ClickHouse 做日志系统的案 ...

最新文章

  1. 【顶会资源汇总】2020最新视觉描述生成文献大列表
  2. 今日 Paper | 协作蒸馏;人脸反欺骗;人脸表示;3D-CariGAN等
  3. JAVA安装包制作神器install4j 版本更新至v6.1.5,密码字段选项添加新属性|附下载...
  4. phpmyadmi 上传大文件
  5. VS查看C++类的内存分布、初步了解类的内存分布
  6. yum 错误:Invalid configuration value: failovermethod=priority
  7. TFS 10周年生日快乐 – TFS与布莱恩大叔的故事
  8. react中IOS手机里面两个input同时存在时,聚焦focus失效解决办法
  9. Ubuntu java 环境变量
  10. 主析取范式和主合取范式的c++求解程序
  11. Apache DBUtils
  12. Java入门(一)java中的分隔符号
  13. Spark基本工作流程和作业调度
  14. CVTE实习生一二面+HR面
  15. 2019年南京大学计算机考研分数线,南京大学2019年考研复试分数线已公布
  16. 【Shell】测试脚本
  17. 学无止境啊,身体是革命本钱
  18. 小米扫地机器人充电座指示灯不亮_小米扫地机器人充电多久可以用 怎么充电?...
  19. mysql handlersocket mongodb_MongoDB和MySQL HandlerSocket性能测试及其结果分析
  20. noip day2 聪明的质检员

热门文章

  1. 【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )
  2. 重写Notification有感~~
  3. css 垂直居中的几种方式
  4. 普及组2008NOIP 排座椅(贪心+排序)
  5. Objective-C字符串处理的函数
  6. 二分图 crf的军训
  7. Unity C# Sting.Format的学习
  8. 网页瀑布流效果实现的几种方式
  9. Centos 安装Mongo DB
  10. 《HTTP权威指南》– 5.Web服务器