日志简介
什么是日志:就是各类操作,系统都会保存到/var/log
日志存放位置: 存放本地 /var/log
日志配置文件:/etc/rsyslog.conf
日志帮助手册man 5 rsyslog.con里面能找到所有日志对象和日志级别
常见系统日志 /var/log/
常见的日志文件(系统、进程、应用程序)
# tail /var/log/messages //系统主日志文件
# tail /var/log/messages //查看日志文件
# tail /var/log/secure //认证、安全,文件
# tail /var/log/cron //crond、at进程产生的日志
# tail /var/log/yum.log //yum 下载日志
二进制日志:
# w //当前登录的用户 /var/log/wtmp日志
# last //最近登录的用户 /var/log/btmp
# lastlog //所有用户的登录情况 /var/log/lastlog
进程以自己的方式去记录日志
# tail /var/log/mysqld.log //MySQL进程自己记录的日志
# tail /var/log/httpd/access_log //Apache自己记录的日志
# tail /var/log/xferlog //和访问FTP服务器相关
自定义日志
[root@localhost ~]#vim /etc/ssh/sshd_config 将里面的SyslogFacility AUTHPRIV改为 SyslogFacility local2 [root@localhost ~]# vim /etc/rsyslog.conf 在里面的rules里面加(日志对象local12)*.*(日志级别) /var/log/xxxx(名字)
[root@localhost ~]# systemctl restart rsyslog sshd
[root@localhost ~]# tailf /var/log/sshd.log
日志切割(轮转)logrotate
1.如果没有日志轮转,日志文件会越来越大,最后导致日志打不开或者是打开时间过长
2. 将丢弃系统中最旧的日志文件,以节省空间
3. logrotate本身不是系统进程,即日志的轮转不会自动执行,它是通过写到相应的配置文件中使用计划任务crond每天执行
logrotate 配置文件:/etc/logrotate.conf (主配置文件,决定每个日志文件如何轮转)
/etc/logrotate.d/*(存放子配置文件的目录) [root@localhost ~]# cd /etc/logrotate.d
[root@localhost ~]# vim test
/var/log/sshd.log{
weekly//轮转周期
size 1M//大小
creat 666 root root//创建文件,权限,属主,属组
missingok//丢失不提醒
dateext //使用日期作为后缀
dateext //使用日期作为后缀
notifempty //如果为空,不轮转
rotate 4 //保留多少个日志文件.默认保留四个
}
[root@localhost ~]# systemctl restart sshd