Linux基础学习-日志管理
1.常用日志保存地点
/var/log

2.lastlog 命令记录所有用户用户最后一次登陆的时间

3.日志服务管理rsyslogd
[root@localhost ~]# ps -aux| grep rsyslog
root 1297 0.1 0.3 216376 7456 ? Ssl 02:31 0:00 /usr/sbin/rsyslogd -n
[root@localhost ~]# systemctl list-unit-files| grep rsyslog
rsyslog.service enabled
4.日志文件的配置文件
[root@localhost ~]# cat /etc/rsyslog.conf
5.自定义日志
vi /etc/rsyslog.conf

重启主机,在/var/log/mylog.log可以看见所有的日志,或者重启服务 systemctl restart rsyslog
6.日志轮替
日志轮替就是把日志文件移动改名,并建立新的日志文件,当旧的日志文件超出保存范围之后,就会删除。
Centos7采用logrotate来管理日志轮替管理,可以在/etc/logrotate.conf来配置日志轮替,如果配置文件中有dateext,则轮替文件将用日期来命名,日志文件也不会重复,不需要改名。
如果没有这个参数,日志文件轮替是将用.1,.2来命名,日志轮替时候.1就会改名为.2
1 [root@mysql log]# cat /etc/logrotate.conf 2 # see "man logrotate" for details 3 # rotate log files weekly 4 weekly #每周对日志进行一次轮替 5 6 # keep 4 weeks worth of backlogs 7 rotate 4 #共保存四份日志,新的日志产生,旧的日志就会被删除 8 9 # create new (empty) log files after rotating old ones 10 create #创建一个新的日志文件,在日志轮替后 11 12 # use date as a suffix of the rotated file 13 dateext #用日期作为轮替日志的后缀 14 15 # uncomment this if you want your log files compressed 16 #compress 17 18 # RPM packages drop log rotation information into this directory 19 include /etc/logrotate.d #日志轮替规则也可以保存在 /etc/logrotate.d这个文件中 20 21 # no packages own wtmp and btmp -- we'll rotate them here 22 /var/log/wtmp { 23 monthly 24 create 0664 root utmp 25 minsize 1M #日志到达1M后才进行轮替,没有到达1M,及时到了一个月也不会轮替 26 rotate 1 #仅保留一份日志 27 } 28 29 /var/log/btmp { 30 missingok 31 monthly 32 create 0600 root utmp 33 rotate 1 34 } 35 36 # system-specific logs may be also be configured here.
日志轮替规则也可以写在, /etc/logrotate.d这个文件夹下面,
[root@mysql ~]# cd /etc/logrotate.d
[root@mysql logrotate.d]# ls
bootlog chrony iptraf-ng iscsiuiolog samba syslog wpa_supplicant yum
7.日志轮替参数说明

8.定制自己的日志轮替规则
[root@mysql ~]# cd /etc/rsyslog.d/ [root@mysql rsyslog.d]# ls listen.conf [root@mysql rsyslog.d]# vi mylog /var/log/mylog.log { missingok daily copytruncate rotate 7 notifempty }
9.日志轮替的机制原理
日志轮替依赖于系统任务logrotate,在 /etc/cron.daily/目录 通过这个定时任务的执行,来完成日志轮替。
[root@localhost cron.daily]# cat logrotate #!/bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0
10、查看内存日志
内存日志重启清空
journalctl 可以查看内存日志
journalctl 查看全部日志
journalctl -n 3 查看最新三条
journalctl --since 10:00 --until 19:00 查看时间段的日志
journalctl -p err 报错日志
浙公网安备 33010602011771号