- 把旧的日志文件移动并改名,同时创建一个新的空日志文件用来记录新日志,当旧日志文件超出保存的范围时就删除
- 统一配置默认缺省值 /etc/logrotate.conf
- # rotate log files weekly
- weekly
- # keep 4 weeks worth of backlogs
- rotate 4
- # create new (empty) log files after rotating old ones
- create
- # use date as a suffix of the rotated file
- dateext(日志转储文件会用日期来作为后缀,如secure-20130605)
- # uncomment this if you want your log files compressed
- #compress
- # rotate log files weekly
- 分别配置/etc/logrotate.d/
- daily毎天
- weekly每周
- monthly每月
- rotate数字 保留的日志文件的个数。0指没有备份
- compress 对旧的日志进行压缩
- delaycompress 转储的日志文件到下一次转储时才压缩
- create mode owner group建立新日志,同时指定新日志的权限与所有者和所属组.如create 0600 root utmp
- mail address当进行日志轮替时.输出内存通过邮件发送到指定的邮件地址
- missingok如果日志不存在,则忽略该日志的警告信息
- nolifempty如果日志为空文件,則不进行日志轮替
- minsize 大小日志轮替的最小值。也就是日志一定要达到这个最小值才会进行轮持,否则就算时间达到也不进行轮替size大小日志只有大于指定大小才进行日志轮替,而不是按照时间轮替,如size 100k
- sharedscripts在此关键字之后的脚本只执行一次
- prerotate/endscript在日志轮替之前执行脚本命令。endscript标识prerotate脚本结束(用于有些受chattr +a保护的log)
- postrolaie/endscripl在日志轮替之后执行脚本命令。endscripi标识postrotate脚本结束(用于在日志转储后重启相应服务:kill -HUP)
- 挂起信号(-USR1或-HUP):进程进行复位操作,重新加载配置文件,重新打开日志文件,重启服务
- 使用自编脚本切割
- 关闭logrotate自动切割功能(删除相应配置文件/etc/logrotate.d/)
- 脚本
- vim /server/scripts/access_cut.sh
- #!/bin/bash
- log_file="access.log"
- log_dir="/var/log/nginx"
- mv $log_dir/$log_file /backup/${log_file}$(date +%F%T)
- vim /server/scripts/access_cut.sh
- logrotate命令参数
- -v 显示转储过程
- -d 演示过程,测试配置文件是否正确
- -f 强制切割日志
- 查看日志转储执行状态cat /var/lib/logrotate/logrotate.status |sort -r
logrotate日志转储
最新推荐文章于 2024-09-05 16:48:20 发布