Linux 日志系统
linux日志系统:(syslog)
用于记录各子系统运行产生的各种信息
如果要手动启动,可以使用命令:
#/sbin/syslogd
Syslog服务:
Syslod: 系统, 非内核产生的信息
Klogd: 内核,专门负责记录内核产生的日志信息,#cat /var/log/dmesg
默认配置的syslog日志
/var./log/message 系统启动后的信息和错误日志,非内核产生的引导信息
/var/log/maillog 邮件系统产生的日志信息
/var/log/secure 与安全相关的日志信息
日志需要滚动(也被成为日志切割 logrotate)
目的是为了防止日志文件过大导致日志信息分析不便,
Syslog的配置文件在 /etc.syslog.conf
指定了syslog记录日志的信息来源, 信息类型 级别和位置
图片说明
该文件以“#”为注释符, 每一行的语法格式为:
【消息来源,消息级别】 【动作】
同一行中允许出现多个【消息来源,消息级别】,但必须要使用分号“;”进行分隔,
例子: mail.*;cron.p* /var/log/test.log
Syslog消息来源及说明
auth # 认证相关的
authpriv # 权限,授权相关的cron # 任务计划相关的 daemon # 守护进程相关的
kern # 内核相关的 lpr # 打印相关的
mail # 邮件相关的
mark # 标记相关的news # 新闻相关的
security # 安全相关的,与auth 类似syslog # syslog自己的
user # 用户相关的uucp # unix to unix cp 相关的
local0 到 local7 # 用户自定义使用* # *表示所有的facility
优先级代表消息的紧急程度,一般有以下几种级别(从低到高
debug # 程序或系统的调试信息
info # 一般信息notice # 不影响正常功能,需要注意的消息
warning/warn # 可能影响系统功能,需要提醒用户的重要事件
err/error # 错误信息
crit # 比较严重的
alert # 必须马上处理的
emerg/panic # 会导致系统不可用的
* # 表示所有的日志级别
none # 忽略所有消息
【动作】是用于指定消息的处理方式,支持把消息保存在日志文件中,发给指定用户等
以下是syslog的动作说明
系统上的绝对路径 # 普通文件 如: /var/log/xxx
| 程 # 管道 通过管道送给其他的命令处理
终端 # 终端 如:/dev/console
@HOST # 远程主机 如: @10.0.0.1
用户名列表 # 发送给指定用户,用户名用“,”隔开
* # 把消息发到所有用户的终端上
清空日志信息的命令是
#echo > 日志文件
例子:要清空/var/log/message下的日志文件内容
命令 #echo > /var/log/message
转载于:https://blog.51cto.com/keleyingwu/1167794