linux系统日志
1.1 概述
linux 默认日志守护进程为 syslog ,位于/etc/syslog, /etc/syslogd, /etc/resyslog.d , linux 内核和很多程序会记录错误信息, 警告信息, 和其他信息, 都会被记录到日志.
1.2 日志优先级
emerg: 紧急情况, 系统不可用(如系统崩溃), 一般会通知所有用户alert: 需要立即修复, 如系统数据崩溃crit: 危险情况, 如硬盘出错, 会阻塞部分功能err: 一般错误信息warning 警告信息notice: 不是错误, 但是可能需要处理info: 通知类信息debug: 调试程序产生的信息none: 没有优先级, 不记录任何消息
1.3 常用日志文件
/var/log/boot.log: 记录系统在引导过程中发生的事件, 就是开机自检过程显示的信息/var/log/lastlog 记录最后一次用户登陆信息/var/log/message 记录linux 操作系统常见的系统和服务错误信息/car/log/secure linux 安全日志, 记录用户和组的变更, 用户的登陆认证/var/log/btmp 记录linux 登陆失败的用户, 时间,和远程 IP地址/var/log/syslog 只记录警告信息, 常见的系统出错的信息, 使用 lastlog 查看/var/log/wtmp 永久记录每个用户登陆, 注销,以及系统启动, 停机, 使用 last 命令查看/var/log/utmp 记录了当前登录的每个用户信息, 使用 w, who, users, 等访问的就是这个日志/var/log/cron 计划任务相关日志/var/log/maillog 邮件相关日志
1.4 常用命令
- last
- 用于列出过去登录过系统的用户, 只要登录就会被记录.
[fangfc@node10011 a]$ last fangfc pts/1 192.168.10.9 Thu Nov 22 19:10 - 19:10 (00:00) fangfc pts/0 192.168.20.1 Thu Nov 22 18:57 still logged in reboot system boot 3.10.0-862.el7.x Thu Nov 22 18:14 - 16:04 (-2:-10)
- 每列内容
- 用户名
- 登入的终端
- 登入的地址(IP)
- 登入时间
- 离开时间
- 距离现在多长时间 (Logged in 表示任然在线)
- lastlog
- 显示最后一次 登录本系统的用户的时间信息
[fangfc@node10011 a]$ sudo lastlog[sudo] password for fangfc: Username Port From Latestroot pts/0 Mon Nov 19 20:11:03 +0800 2018bin **Never logged in**...fangfc pts/1 192.168.10.9 Thu Nov 22 19:10:42 +0800 2018
- 列解析:
- 用户名
- 终端
- 源地址(IP)
- 最后一次登录时间
-
lastb 显示试图登录系统 且失败的信息, 该命令会读取 /var/log/btmp 文件, 可以用于 查看试图暴力破解登录系统的信息.
-
dmesg 用于诊断设备故障, 可以看到硬件设备检测或断开连接的信息
[fangfc@node10009 data]$ sudo dmesg | head -n10[ 0.000000] Initializing cgroup subsys cpuset[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Initializing cgroup subsys cpuacct[ 0.000000] Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017...
- 查看指定硬盘的相关信息
[fangfc@node10009 data]$ sudo dmesg | grep "sda"[ 2.094063] sd 0:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)[ 2.094107] sd 0:0:0:0: [sda] Write Protect is off[ 2.094110] sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00[ 2.094171] sd 0:0:0:0: [sda] Cache data unavailable[ 2.094173] sd 0:0:0:0: [sda] Assuming drive cache: write through[ 2.095332] sda: sda1 sda2[ 2.095978] sd 0:0:0:0: [sda] Attached SCSI disk[ 3.127020] XFS (sda1): Mounting V5 Filesystem[ 3.170544] XFS (sda1): Ending clean mount[fangfc@node10009 data]$
- 部分选项
-c: clean 掉 dmesg 中的信息-T: 以当前时间显示-d: 打印信息的时间间隔
2. screen
2.1 概述
screen 工具是linux 虚拟终端中常用的工具, 在需要长时间执行的命令, 且执行过程不可以中断, 如果使用正常执行方式 去执行, 如果当前终端断开了连接, 那么该命令页也将会停止执行. screen 就可以解决该问题, 用于提供虚拟终端的模拟器, 能够在一个终端下运行多个全屏幕的伪终端.
2.2 常用选项
-A: 将所有视窗调整为目前终端的大小-d <作业名> : 指定 screen 离线作业, 并设置作业名-h <行数> : 设置视窗的缓冲行数-m: 即使 目前已在 screen中作业, 也任然强制建立新的 screen-r <作业名> : 恢复离线的 screen-R: 试图恢复离线的screen, 如果没有, 则建立新的-s: 指定建立新的窗口时 执行的shell-S <作业名> 指定screen 的作业名-x: 恢复之前离线的 screen 作业名> 作业名> 行数> 作业名>
END