系统日志与时间设置
系统日志服务
- systemd-journald日志服务
一次性日志,保存在二进制的日志文件中,重启日志则消失,
- rsyslog日志服务
将日志保存在/var/log/*中,重启依然存在。
rsyslog根据消息的类型以及优先级,将日志写在对用的日志文件中
rsyslog服务
配置文件:/etc/rsyslog.conf和/etc/rsyslog.d/*.conf
*.*
日志类型.优先级
日志类型
日志优先级priority
自定义日志规则
.none 排除某个日志类型 :mail.none 所有mail类别的日志都不急记录
日志信息格式:
时间戳 主机 程序/进程运行人[进程pid] 消息内容
手动发送日志信息
logger
实现日志收集
rsyslog是C/S架构
服务端:修改配置文件,打开端口
vim /etc/rsyslog.conf
#打开监听端口
重启服务
关闭防火墙,或放行端口
客户端:配置发送到服务端
-
修改配置文件:vim /etc/rsyslog.conf
*.* @服务器ip
@通过udp转发
@@通过tcp转发
-
重启服务
-
使用logger测试
logger -i 'message'
日志轮询/切割
logrotate 工具轮询日志,防止日志文件过多 依赖时间
配置文件:/etc/logrotate.conf和/etc/logrotate.d/*
/var/log/sshd.log{ #切割的日志
missingok #日志轮询,忽略错误
notifempty #日志为空时,不切割日志
rotate 4 #存储归档日志的个数,超过将删除时间最久的日志归档
weekly #切割日志的周期
create 0600 root root #指定新文件的权限,
minsize 5M #文件超过5M也会执行切割
}
其他参数:
compress 切割日志后,会将归档的日志使用gzip压缩
delaycompress 与compress一起用,压缩将在下一次轮询进行
logrotate -d /etc/logrotate.d/sshd 测试切割,不会真正轮询日志
-v 显示指令执行过程
-f 强制切割日志
journald日志服务
systemd-journald服务的日志消息存储在/run/log下,系统重启后会清除,二进制文件
二进制文件,使用journalctl命令查看命令
常用选项
-n 指定显示末尾N条日志信息
-f 与tail -f命令相似
-p 指定显示某个优先级以上的日志信息
--since,--until 限定时间段的日志,时间格式:'YYYY-MM-DD hh:mm:ss'或者yesterday类似的参数
-o verbose: 查看日志的详细信息
- 按照关键字查询日志
永久保存journald的日志
修改journald的配置文件
/etc/systemd/journald.conf
系统时间
硬件时间:
hwclock -r
hwclock -r 查看硬件时间
-s 系统时间同步硬件时间
-w 硬件时间同步系统时间
系统时间 date
timedatectl命令
网络时间
ntpd chronyd
修改配置文件
/etc/ntp.conf
/etc/chrony.conf
server 服务器ip/域名 iburst 向谁同步
allow ip段 允许谁向我同步
local stratum 10 自身的级别优先
chronyc sources
同步网络时间