千锋 day15

文章详细介绍了Linux系统中rsyslog配置文件/etc/rsyslog.conf的结构和规则,包括日志对象、日志级别以及如何自定义日志路径。同时,讲解了如何进行TCP/UDP日志管理和日志轮转机制,包括logrotate的配置和使用,以及如何通过计划任务进行日志切割和保留策略。
摘要由CSDN通过智能技术生成

第十五天

#vim /etc/rsyslog.conf -----> 日志的主配置文件 include 包含
/etc/rsyslog.d/*.conf 子配置文件


进入/etc/rsyslog.conf里查看日志的rule规则,可以进行修改等


TCP

UDP

日志管理重点(rule规则)
由三部分组成:
对象 . 级别 存放位置加文件名
例:
authpriv.* /var/log/secure



日志对象:
auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (same as auth), syslog, user,
uucp and local0 through local7.


日志级别:
前的级别低,越详细,低的包含高的日志级别
级别等级越低,记录得越多。级别等级越高,记录得也就越少
*.* 表示所有的级别所有的对象
debug:最低的,一般不用
info:安装信息,警告信息,错误信息
notice:相当与提示
warn/warning:警告,错误
从error开始是分界线,需要开始特别注意
error/err:错误,严重错误
alert:告警,表示已经出现问题
emerg:恐慌级别



自定义日志
例:
*.* /var/log/mylog
kern.err /var/log/kernel.log
*.info;mail.none /var/log/big.log
mail.info /var/log/mail.log
cron.info;cron.!err /var/log/newcron
======================================
; 表示连接多个对象
! 表示取反


用vim /etc/rsyslog.con 里进行自定义日志 ,在rule下 自起一行添加自定义的文件
例:
*.* /var/log/mylog 表示所有对象所有等级产生的日志存储到/var/log/mylog下


修改服务对象

例:将ssh的对象改成local1
先将vim /etc/ssh/sshd_config 里的 AUTHPRIV 改为 local1
然后在/etc/rsyslog.conf 里添加一条规则
local1.* /var/log/ssh.log
然后wq 保存退出
然后重启服务 (ssh+日志)
systemctl restart sshd rsyslog
然后验证:需要两个终端 A:用tailf 去实时查看文件 /var/log/ssh.log
B:用来执行操作,让A能实时查看到



远程日志(rsyslog)
A ----> B
(日志发送端) (日志接收端)

修改 规则

对发送端:
vim /etc/rsyslog.conf

local1.* /var/log/ssh.log
local1.* @192.168.142.142 //注意@:使用udp @@:使用tcp
然后wq 保存退出
然后重启服务

对接收端:
vim /etc/rsyslog.conf 修改配置文件打开接收功能
如果是UDP 就开UDP 如果是TCP 就开TCP (把对应指令的#删掉就是开启)
$ModLoad imudp
$UDPServerRun 514
然后wq 保存退出
然后重启服务


logrotate日志轮转(切割)
注:针对任何日志文件
logrotate (轮转,日志切割)
1. 如果没有日志轮转,日志文件会越来越大,最后导致日志打不开或者是打开时间过长
2. 将丢弃系统中最旧的日志文件,以节省空间
3. logrotate本身不是系统进程,即日志的轮转不会自动执行,它是通过写到相应的配置文件中使用计划任务crond每天执行
4.对日志的切割,你只需要给他定义一个规则


[root@xingdian ~]# rpm -qa |grep logrotate
logrotate-3.7.8-16.el6.x86_64
logrotate 配置文件:
/etc/logrotate.conf (决定每个日志文件如何轮转)(主配置文件)
/etc/logrotate.d/*
(子配置文件对应的规则)
主配置文件
[root@xingdian ~]# vim /etc/logrotate.conf
=========全局设置==========
weekly //轮转的周期,一周轮转
rotate 4 //保留4份
create //轮转后创建新文件
dateext //使用日期作为后缀


# 对于wtmp和btmp这样无主的日志,按照下面配置进行轮转
/var/log/wtmp { //对该日志文件设置轮转的方法
monthly //一月轮转一次
minsize 1M //最小达到1M才轮转,即到了规定的时间未达到大小不会轮转
create 0664 root utmp //轮转后创建新文件,并设置权限属主和属组
rotate 1 //保留一份
}
/var/log/btmp {
missingok //丢失不提示
monthly //每月轮转一次
create 0600 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}

[root@xingdian ~]# vim /etc/logrotate.d/yum //原有的设置,没有说保存几份,看上面的全局设置
/var/log/yum.log { //yum日志文件
missingok //丢失不提示
notifempty //如果为空,不轮转
size 30k //达到30k就轮转
yearly //达到一年就轮转一次,两者满足一个就轮转
create 0600 root root //创建新文件
}

日志的轮转规则文件是在安装rpm包时就自动提供的,无需人为手动编写
只有自己创建的日志文件才需要自己编写日志轮转规则文件

[root@xingdian ~]# yum -y install httpd (安装httpd)
[root@xingdian ~]# ls /etc/logrotate.d/ (查看logrotate的子文件里,)
chrony ppp wpa_supplicant syslog yum httpd (可以查看到多了httpd的日志文件)





logrotate -f yum (强制执行yum的日志切割)


|| (也是分隔符):当前面的命令不成功时就执行后面的命令

说明:
当切割之后创建新文件,新文件有新的inode number
如果希望进程如rsyslog、nginx进程会把新的日志写入新日志文件中,应该在日志切割后,告诉一下rsyslog、nginx进程reload 或 信号(1 or HUP)



一次性计划任务at
作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据


所有计划任务执行中的输出都会以邮件的方式发送给指定用户, 除非重定向
什么叫计划任务 :
计划任务,字面意思理解就是在约定好的时间执行已经计划好的工作。在Linux中我们经常使用cron服务来完成这项工作。比如我们可以使用cron来做一个每天晚上12点备份一个日志文件,这就是个计划任务。

计划任务分为:
一次性循环任务
循环性计划任务(重点)

任务就是:linux中的命令(例如touch 、mkdir、cp、rm、tar等)(最佳方案是配合shell脚本使用)
计划就是:时间

at(一次性计划任务) 软件包名:at 服务名称:atd

创建时需要:指定时间 指定任务
at 16:30
at> touch file1
at> <EOT> (ctrl+d 结束at)
查看:at -l
ls /var/spool/at (这个目录下存放的都是一次性计划任务)
删除:
at -d 工作号 (可以用at -l 查看 第一行就是工作号)
rm -rf 文件 /var/spool/at/某某某文件

扩展:
midnight:午夜 (00:00)
noon:中午 (12:00)
teatime :下午茶 (16:00)
指定某一天: 23:59 12/31/2018 任务在2018年12月31号23点59分

计划任务分为
系统级别(在系统安装时就存在的)
用户级别(自己创建的就是用户级别,这个用得多)



循环计划任务cron

时间
* * * * *
分 时 日 月 周
分钟:00-59
小时:00-23
日:1-31
月:1-12
周:0-7 0和7都代表周日

ps:
* 表示每...
, 取不同的时间点
- 表示范围
*/5 每5分钟

示例:
00 02 * * * ls //每天2:00整
00 02 1 * * ls //每月1号2:00整
00 02 14 2 * ls //每年2月14号2:00整
00 02 * * 7 ls //每周日2:00整
00 02 * 6 5 ls //每年6月的周五2:00整
00 02 14 * 7 ls //每月14号2:00整 或者 每周日2:00整,这两个时间都执行
00 02 14 2 7 ls //每年2月14号2:00整 或者 每年2月周日2:00整,这两个时间都执行
00 02 * * * ls //每天2:00整
* 02 * * * ls //每天2:00中的每一分钟
* * * * * ls //每分钟执行ls
* * 14 2 * ls //2月14号的每分钟 1440分钟
*/5 * * * * ls //每隔5分钟
00 02 1,5,8 * * ls //每月1,5,8号的2:00整
00 02 1-8 * * ls //每月1到8号的2:00整























 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值