Logrotate工具使用
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工具使用的更多相关文章
- linux使用logrotate工具管理日志轮替
对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...
- Linux环境下使用logrotate工具实现nginx日志切割
一. 前提背景及需求 nginx运行日志默认保存在nginx安装目录下的 /usr/local/nginx/logs 文件夹, 包含access.log和error.log两个文件. (1) acce ...
- 【转】如何利用logrotate工具自动切分滚动中的日志文件
FROM : http://www.2cto.com/os/201503/381812.html 在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或da ...
- 系统日志查看logrotate 工具
logrotate是作为linux系统日志的管理工具存在.他可以轮换,压缩,邮件系统日志文件. 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行./etc/lo ...
- 关于logrotate工具的日志切割
logrotate是一个非常好的文件切割工具!! 具体配置如下: /var/log/debug.log{ daily ; 每天转储 rotate ...
- 利用logrotate工具对catalina.out进行日志分割实战
logrotate是linux自带的日志分割工具,如果没有可以用yum安装 yum -y install logrotate 要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个 ...
- logrotate工具日志切割
/var/log/zabbix/zabbix_server.log { daily ##每天转储 rotate ##保留60个备份 olddir /usr/local/src ##保存日志的位置 co ...
- linux系统日志自动切割工具----logrotate
参考资料 :https://www.cnblogs.com/kevingrace/p/6307298.html 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务 ...
- logrotate日志管理工具与split文件切割命令
概述 logrotate是一个Linux系统默认安装了的日志文件管理工具,用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数等来转储,便于对日志文件管理. logro ...
随机推荐
- 应用案例——高并发 WEB 服务器队列的应用
在高并发 HTTP 反向代理服务器 Nginx 中,存在着一个跟性能息息相关的模块 - 文件缓存. 经常访问到的文件会被 nginx 从磁盘缓存到内存,这样可以极大的提高 Nginx 的并发能力,不过 ...
- SpringBoot集成基于tobato的fastdfs-client实现文件上传下载和删除
1. 简介 基于tobato的fastdfs-client是一个功能完善的FastDFS客户端工具,它是在FastDFS作者YuQing发布的客户端基础上进行了大量的重构,提供了上传.下载.删除. ...
- 深入解析 C# 的 String.Create 的方法
作者:Casey McQuillan 译者:精致码农 原文:http://dwz.win/YVW 说明:原文比较长,翻译时精简了很多内容,对于不重要的细枝末节只用了一句话概括,但不并影响阅读. 你还记 ...
- 10 个 GitHub 上超火的 CSS 奇技淫巧项目,找到写 CSS 的灵感!
大家好,我是你们的 超级猫,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 如果 CSS 是女孩子,肯定如上图那样吧
- python scipy 求解简单线性方程组和fmin求函数最小值
###这是一个利用内置函数求最小值#####def func(x): return x ** 2 - 2 *x x = 1 func(x) opt.fmin(func ,x)## 用scipy求解线性 ...
- EF Core扩展工具记录 批量操作 记录修改删除历史 动态linq
Microsoft.EntityFrameworkCore.UnitOfWork Microsoft.EntityFrameworkCore的插件,用于支持存储库,工作单元模式以及支持分布式事务 ...
- intellij idea svn不能更新和提交
进入设置–version control – subversion如下图,将前边的选项的勾全部去掉,点击ok
- 【原创】Linux PCI驱动框架分析(二)
背 景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本 ...
- 面试常问:Mybatis使用了哪些设计模式?
前言 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式. Mybati ...
- Android硬件访问服务中的HAL-查看打印的信息
JNI 向上提供本地函数,向下加载HAL文件并调用HAL的函数 HAL 负责访问驱动程序执行硬件操作. external\chromium_org\third_party\hwcplus\src\h ...