使用logrotate进行日志切割
2024-08-21 / Server / 462 次围观 / 0 次吐槽 /配置文件全局参数说明:
vi /etc/logrotate.conf
weekly #每周执行一次日志切割
rotate 4 #表示日志切割后历史文件最多保留最近的多少份(4 表示保留最近的4份)
create #指定新创建的文件权限与所属主与所属组
dateext #使用日期为后缀的回滚文件
#compress #压缩日志文件
include /etc/logrotate.d #单独子项目日志切割配置规则的目录
# 全局日志切割规则
/var/log/wtmp {
monthly #每月切割一次
create 0664 root utmp #设置wtmp这个日志文件的权限,属主,属组
minsize 1M #文件大小的最小值超过1M进行切割(主要看这个大小来切割,不一定按每月时间来切割)
rotate 1 #日志切割后历史文件最多保留多少份(不含当前使用的日志)
}
/var/log/btmp {
missingok #如果文件丢失,将不会报错
monthly
create 0600 root utmp
rotate 1
}其他参数说明:
monthly #日志文件按照月切割吗,其他值可用 daily ,weekly ,yearly delaycompress #与compress 一起使用,指示不要将最近的归档压缩,压缩将在下一次周期进行(一般在于软件读取最新的归档时有用) size #指定大小才会切割日志 notifempty #如果日志文件为空,切割不会进行 postrotate/endscript #在其他所有的指令完成后,指定的命令将会被执行。这种情况下rsyslogd进程将会立即读取配置并继续运行 /var/lib/logrotate/status #中默认记录上次切割的时间
使用logrotate进行ssh 日志分割
自定义ssh服务的日志类型与存储位置
vi /etc/rsyslog.conf #把自定义local0 类别的日志保存到/var/log/sshd.log #在73行下面插入以下内容 local0.* /var/log/sshd.log
vi /etc/ssh/sshd_config #把sshd服务日志默认的类别改为我们自定义的local0 #把SyslogFacility AUTHPRIV 改为 SyslogFacility local0
#重启rsyslog服务 systemctl restart rsyslog #重启sshd服务 systemctl restart sshd
验证日志是否生成
cat /var/log/sshd.log
切割sshd日志配置文件:
vi /etc/logrotate.d/sshd #创建一个sshd日志切割配置文件,插入以下内容
/var/log/sshd.log {
missingok
weekly
create 0600 root root
minsize 10M
rotate 3
}
#重启服务生效
systemctl restart rsyslog如果想每分钟或小时切割可以调用计划任务
crontab -e */1 * * * * logrotate -vf /etc/logrotate.d/sshd
#测试,不实际切割输出测试结果
logrotate -d /etc/logrotate.d/sshd
#强制切割,不满足条件也切割
#-v 显示执行过程 -f 强制执行 logrotate -vf /etc/logrotate.d/sshd
- 上一篇:Linux日志的分类与级别
- 下一篇:配置rsyslog远程日志服务器
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.