其它的日志文件
/var/log/secure : 系统安装日志,文本格式,应周期性分析
/var/log/btmp : 当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
/var/log/wtmp : 当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
/var/log/lastlog : 每一个用户最近一次的登录信息,二进制格式,lastlog 命令可以查看
/var/log/dmesg : 系统引导过程中的日志信息,文本格式,专用命令dmesg 查看
/var/log/messages : 系统中大部分的信息
/var/log/anaconda.* : anaconda的日志
管理命令
last,lastb
last, lastb - show listing of last logged in users
last,lastb [options] [name...] [tty...]
-f 文件最后使用一个特定的文件来取代 /var/log/wtmp
-num 指定最多显示多少行
-t YYYYMMDDHHMMSS 显示指定时间的登陆状态
-f file 指定要搜索的文件而不是 /var/log/wtmp.
-R 取消主机名字段的显示
-a 在最后一列中显示主机名,与下一标志结合使用
-d 对于非本地登陆,Linux不仅存储远程主机的主机名,而且还保存其ip号码,此选项将ip号码转换回主机名。
-F 显示全部的登陆和登出的时间和日期
-i 此选项类似于-d,因为它显示远程主机的ip号,但它以数字和点数表示法显示ip号码
-o 读取旧类型的wtmp文件 (written by linux-libc5 applications).
-w 在输出上显示所有用户和域名
-x 显示系统关机条目和运行级别更改
lastlog
lastlog - reports the most recent login of all users or of a given user
lastlog [options]
-b, --before DAYS 只打印比天数早的lastlog记录
-h, --help 显示帮助信息
-R, --root CHROOT_DIR directory to chroot into
-t, --time DAYS 仅打印lastlog记录(最近几天)
-u, --user LOGIN 打印指定登陆的lastlog记录
journalctl
1》centos7上,Systemd有统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。
2》日志的配置文件/etc/systemd/journald.conf
3》journalctl 用法
journalctl - Query the systemd journal
journalctl [OPTIONS...] [MATCHES...]
--system 显示系统日志
--user 显示当前用户的日志
-M --machine=CONTAINER 在本地容器中操作
-S --since=DATE 查看指定时间的日志
-U --until=DATE 显示不比指定日期更新的条目
-c --cursor=CURSOR 显示从指定游标开始的条目
--after-cursor=CURSOR 显示指定光标后的条目
--show-cursor 显示所有条目后的光标
-b --boot[=ID] 查看系统本次启动的日志
--list-boots 显示启动相关记录的简洁信息
-k --dmesg 查看内核日志(不显示应用日志)
-u --unit=UNIT 查看某个Unit的日志
-t --identifier=STRING 显示具有指定的syslog标识符的条目
-p --priority=RANGE 查看指定优先级(及其以上级别)的日志
-e --pager-end 跳到页面结尾
-f --follow 实时滚动显示最新日志
-n --lines[=INTEGER] 显示尾部的最新几行日志,默认为10行。
--no-tail 显示所有行,即使在接下来的模式中
-r --reverse 首先显示最新的条目
-o --output=STRING 更改日志输出的模式
(short, short-iso,short-precise, short-monotonic,verbose,export, json, json-pretty, json-sse, cat)
--utc 采用utc时间格式
-x --catalog 添加可用的消息解释
--no-full Ellipsize 字段
-a --all 显示所有区域,包括长的和不可打印的
-q --quiet 不显示私有告警
--no-pager 日志默认分页输出,改为正常的标准输出
-m --merge 从所有可用日志中显示条目
-D --directory=PATH 从目录中显示日志文件
--file=PATH 显示日志文件
--root=ROOT 在根目录下对目录文件进行操作
--interval=TIME 更改FSS密封密钥的时间间隔
--verify-key=KEY 指定FSS核查密钥
--force 使用设置键重写FSS密钥对
-h --help 显示帮助
--version 显示包版本
-F --field=FIELD 列出指定字段所需的所有值
--new-id128 Generate a new 128-bit ID
--disk-usage 显示日志占据的硬盘空间
--vacuum-size=BYTES 指定日志文件占据的最大空间
--vacuum-time=TIME 指定日志文件保存多久
--flush 从/run中刷新所有日志到/var
--header 显示所有日志头部信息
--list-catalog 在目录文件上显示所有信息ID
--dump-catalog 在信息目录中显示所有条目
--update-catalog 更新消息目录数据
--setup-keys 产生新的FSS密钥对
--verify 验证显示队列的一致性
示例:
查看所有日志(默认情况下 ,只保存本次启动的日志)
journalctl
查看内核日志(不显示应用日志)
journalctl -k
查看系统本次启动的日志
journalctl -b
journalctl -b -0
查看上一次启动的日志(需更改设置)
journalctl -b -1
查看指定时间的日志
journalctl --since="2017-10-30 18:10:30"
journalctl --since "20 min ago"
journalctl --since yesterday
journalctl --since "2017-01-10" --until "2017-01-11 03:00"
journalctl --since 09:00 --until "1 hour ago"
显示尾部的最新10 行日志
journalctl -n
显示尾部指定行数的日志
journalctl -n 20
实时滚动显示最新日志
journalctl -f
查看指定服务的日志
journalctl /usr/lib/systemd/systemd
查看指定进程的日志
journalctl _PID=1
查看某个路径的脚本的日志
journalctl /usr/bin/bash
查看指定用户的日志
journalctl _UID=33 --since today
查看某个 Unit 的日志
journalctl -u nginx.service
journalctl -u nginx.service --since today
实时滚动显示某个 Unit 的最新日志
journalctl -u nginx.service -f
合并显示多个 Unit 的日志
journalctl -u nginx.service -u php-fpm.service --since today
查看指定优先级(及其以上级别)的日志,共有8级 级
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
journalctl -p err -b
日志默认分页输出,--no-pager 改为正常的标准输出
journalctl --no-pager
以 JSON 格式(单行)输出
journalctl -b -u nginx.service -o json
以 JSON 格式(多行)输出,可读性更好
journalctl -b -u nginx.serviceqq -o json-pretty
显示日志占据的硬盘空间
journalctl --disk-usage
指定日志文件占据的最大空间
journalctl --vacuum-size=1G
指定日志文件保存多久
journalctl --vacuum-time=1years
logger
logger - a shell command interface to the syslog(3) system log module
logger makes entries in the system log. It provides a shell command interface to the syslog(3) system log module.
logger [options] [message]
-T, --tcp 仅使用tcp
-d, --udp 仅使用udp
-i, --id 记录进程id
-f, --file <file> 记录指定文件内容
-h, --help 显示帮助
-S, --size <num> 单一信息的最大尺寸(default 1024)
-n, --server <name> 写入到远程syslog服务上
-P, --port <port> 使用端口来进行udp或tcp连接
-p, --priority <prio> 使用此优先级来标记给定的信息
-s, --stderr 按标准错误输出信息
-t, --tag <tag> 用此标记标记每行
-u, --socket <socket> 写入Unix socket