Logrotate

​  logrotate是一个被设计来简化系统管理日志文件的工具,在系统运行时,如果产生大量的日志文件,可以使用该工具进行管理,如/var/log/*文件夹是存储系统和应用日志的目录,如果某些日志文件没有设置归档,可能会一直存储变大导致服务器磁盘空间不足。logrotate是开源的自由软件,可以在github上查看到详细介绍。Logrotate

1. 安装

​  我在centos6和Ubuntu18.04上看到都是默认安装好的了,如果没有安装,可以利用各个系统的安装源进行安装:

yum install logrotate #Centos使用安装源安装
apt install logrotate #Ubuntu使用安装源安装
###当然也可以使用github上的源码编译安装

2. 使用

  如果安装好logrotate,会在/etc/目录下有logrotate.conf文件和logrotate.d目录,logrotate.conf是默认的配置文件,logrotate.d目录存储了一些自定义的配置文件。logrotate.conf详细如下所示:

# see "man logrotate" for details
# rotate log files weekly 轮询每周执行一次
weekly # use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog # keep 2 weeks worth of backlogs 保留两个归档文件,因为每周执行一次。即只有两周的归档文件进行保留
rotate 2 # create new (empty) log files after rotating old ones 归档后创建新的文件
create # uncomment this if you want your log files compressed 是否压缩归档的日志文件,这里注释了compress,默认就是不压缩
#compress # packages drop log rotation information into this directory
include /etc/logrotate.d #包含/etc/logrotate.d目录下的配置规则 # no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
} /var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
} # system-specific logs may be configured here

  上面贴出了logrotate.conf的配置文件信息,我们也可以看到logrotate.d目录下定义的配置,如下面的syslog(/etc/logrotate.d/syslog)文件:

/var/log/cron         #匹配/var/log/cron,/var/log/maillog,
/var/log/maillog #/var/log/messages等文件,也可以使用*进
/var/log/messages #行模糊匹配
/var/log/secure
/var/log/spooler
{
weekly #每周执行
compress #压缩,默认使用gzip进行压缩
sharedscripts
postrotate #postrotate...endscript是执行后运行的批处理命令
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true #-HUP参数为挂起进程,更改配置而不需停止并重新启动
endscript
}

​  有了配置文件,那么就可以让logrotate使用配置文件运行了。

logrotate -v /etc/logrotate.conf      #根据配置文件执行,如果已经执行过了,默认不会再次执行,-v为--verbose
logrotate -vf /etc/logrotate.d/syslog #强制根据某一配置文件执行-f为--force #参数可以使用--help查看
logrotate --help
Usage: logrotate [OPTION...] <configfile>
-d, --debug Don't do anything, just test (implies -v)
-f, --force Force file rotation
-m, --mail=command Command to send mail (instead of `/bin/mail')
-s, --state=statefile Path of state file
-v, --verbose Display messages during rotation Help options:
-?, --help Show this help message
--usage Display brief usage message
#或者查看手册,里面也有配置的sample和各个参数介绍
man logrotate

3. 参数介绍

参数 说明
daily 表示每天运行归档一次,除此还有‘weekly’,‘monthly’,‘yearly’
rotate 2 表示保留2个归档文件
dateext 表示归档的文件以日期命名,如yyyyMMdd
compress 归档的文件启用压缩,默认为gzip压缩
nocompress 不启用压缩
create mode owner group, create owner group 归档日志文件后创建新文件的访问权限、所属用户和组等,如create 600 root root
missingok 如果归档的日志文件不存在,不提示错误信息
prerotate...endscript 在归档前执行prerotate和endscript里面指定的批处理
postrotate...endscript 在归档后执行postrotate和endscript里面指定的批处理

Logrotate工具使用的更多相关文章

  1. linux使用logrotate工具管理日志轮替

    对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...

  2. Linux环境下使用logrotate工具实现nginx日志切割

    一. 前提背景及需求 nginx运行日志默认保存在nginx安装目录下的 /usr/local/nginx/logs 文件夹, 包含access.log和error.log两个文件. (1) acce ...

  3. 【转】如何利用logrotate工具自动切分滚动中的日志文件

    FROM : http://www.2cto.com/os/201503/381812.html 在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或da ...

  4. 系统日志查看logrotate 工具

    logrotate是作为linux系统日志的管理工具存在.他可以轮换,压缩,邮件系统日志文件. 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行./etc/lo ...

  5. 关于logrotate工具的日志切割

    logrotate是一个非常好的文件切割工具!! 具体配置如下: /var/log/debug.log{         daily            ; 每天转储         rotate ...

  6. 利用logrotate工具对catalina.out进行日志分割实战

    logrotate是linux自带的日志分割工具,如果没有可以用yum安装 yum -y install logrotate 要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个 ...

  7. logrotate工具日志切割

    /var/log/zabbix/zabbix_server.log { daily ##每天转储 rotate ##保留60个备份 olddir /usr/local/src ##保存日志的位置 co ...

  8. linux系统日志自动切割工具----logrotate

    参考资料 :https://www.cnblogs.com/kevingrace/p/6307298.html 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务 ...

  9. logrotate日志管理工具与split文件切割命令

    概述 logrotate是一个Linux系统默认安装了的日志文件管理工具,用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数等来转储,便于对日志文件管理. logro ...

随机推荐

  1. Java集合源码分析(九)——HashSet

    简介 HashSet就是一个集合,里面不能有重复的元素,元素也是无序的. HashSet其实就是调用了HashMap实现的,所以,它也不是线程安全的. HashSet通过iterator()返回的迭代 ...

  2. git-服务器搭建-协议概念

    现在开发过程中,很多的实现某一些功能的工具,都是类似的服务器-客户端结构,即C-S架构,例如消息队列的KAFKA,文件存储的EasticSearch,包括我们日常工作中的数据库,他都是一种C-S架构, ...

  3. STM32 GPIO输入输出(基于HAL库)

    一.基础认识 GPIO全名为General Purpose Input Output,即通用输入输出.有时候简称为"IO口".通用,说明它是常见的.输入输出,就是说既能当输入口使用 ...

  4. 【Django 局域网配置】

    默认方法启动django python manage.py runserver 这时启动的服务只能在本机访问,这是因为服务只向本机(127.0.0.1:8000)提供,所以局域网的其他机器不能访问. ...

  5. Idea+Git+GitHub图文教程,一篇教程帮你搞定

    导语 该文章主要记录如何在GitHub上创建远程仓库.如何创建本地仓库并把代码提交到GitHub.如何创建分支以及分支合并到主干的操作. 一.在GitHub上创建远程仓库 (前提:已经注册过githu ...

  6. centos 7.5搭建oracle DG

    一.背景 1.IP分配 主库:192.168.12.5 node1 备库:192.168.12.6 node2 2.环境 主库已安装数据库软件,已建库,并有业务数据 备库已安装数据库软件,未建库 二. ...

  7. 解决虚拟机联网问题linux VMware eth0

    虚拟机坏了n多回,真是让我装机装到吐血,经过两天的折腾终于弄明白怎么配置虚拟机的静态ip了. 方法: 1. 将虚拟机关机,--> 打开编辑 ->点击 虚拟网络映射 ->点击 VMne ...

  8. hive dml语法

    Loading files into tables 语法 1 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename ...

  9. SSRF深入学习

    爆出来的直接关于SSRF的漏洞有俩,①是weblogic,②是discuzz SSRF漏洞最主要的部分并不是SSRF 探测内网,而是可以写shell,反弹shell,虽然很多厂家把它归为低危漏洞,仔细 ...

  10. 如何修改openstack虚拟机密码

    1.虚拟机创建时设置密码 计算节点安装以下软件包 yum install libguestfs python-libguestfs libguestfs-tools-c 配置计算节点nova配置文件/ ...