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   报错日志

 

posted @ 2021-12-13 16:31  中仕  阅读(18)  评论(0)    收藏  举报