在Linux系统中,日志文件用于记录系统的各种运行信息和错误消息。常见的日志文件包括但不限于/var/log/下的各种日志,如message、secure、maillog、cron等。
对于采用Systemd作为初始化系统的Linux,除了传统的文本日志文件外,还提供了Journal存储机制,可以通过journalctl命令进行复杂且高效的查询操作:
journalctl [OPTIONS...] [MATCHES...]
命令 | 说明 |
---|---|
journalctl -x | 查看日志 |
journalctl -xe | 跳到尾部查看日志 |
Options:
options | description |
---|---|
–system | Show the system journal |
–user | Show the user journal for the current user |
-M --machine=CONTAINER | Operate on local container |
-S --since=DATE | Show entries not older than the specified date |
-U --until=DATE | Show entries not newer than the specified date |
-c --cursor=CURSOR | Show entries starting at the specified cursor |
–after-cursor=CURSOR | Show entries after the specified cursor |
–show-cursor | Print the cursor after all the entries |
–cursor-file=FILE | Show entries after cursor in FILE and update FILE |
-b --boot[=ID] | Show current boot or the specified boot |
–list-boots | Show terse information about recorded boots |
-k --dmesg | Show kernel message log from the current boot |
-u --unit=UNIT | Show logs from the specified unit |
–user-unit=UNIT | Show logs from the specified user unit |
-t --identifier=STRING | Show entries with the specified syslog identifier |
-p --priority=RANGE | Show entries with the specified priority |
–facility=FACILITY… | Show entries with the specified facilities |
-g --grep=PATTERN | Show entries with MESSAGE matching PATTERN |
–case-sensitive[=BOOL] | Force case sensitive or insenstive matching |
-e --pager-end | Immediately jump to the end in the pager |
-f --follow | Follow the journal |
-n --lines[=INTEGER] | Number of journal entries to show |
–no-tail | Show all lines, even in follow mode |
-r --reverse | Show the newest entries first |
-o --output=STRING | Change journal output mode (short, short-precise, |
-x --catalog | Add message explanations where available |
-a --all | Show all fields, including long and unprintable |
-q --quiet | Do not show info messages and privilege warning |
-m --merge | Show entries from all available journals |
-D --directory=PATH | Show journal files from directory |
Commands:
commands | description |
---|---|
–help | Show this help text |
–version | Show package version |
–fields | List all field names currently used |
–field=FIELD | List all values that a specified field takes |
–disk-usage | Show total disk usage of all journal files |
–vacuum-size=BYTES | Reduce disk usage below specified size |
–vacuum-files=INT | Leave only the specified number of journal files |
–vacuum-time=TIME | Remove journal files older than specified time |
–verify | Verify journal file consistency |
–sync | Synchronize unwritten journal messages to disk |
–relinquish-var | Stop logging to disk, log to temporary file system |
–smart-relinquish-var | Similar, but NOP if log directory is on root mount |
–flush | Flush all journal data from /run into /var |
–rotate | Request immediate rotation of the journal files |
–header | Show journal header information |
–list-catalog | Show all message IDs in the catalog |
–dump-catalog | Show entries in the message catalog |
–update-catalog | Update the message catalog database |
–setup-keys | Generate a new FSS key pair |
journalctl -a --header
journalctl -a --header会展示系统日志中的所有记录,并且每条记录前面都会带有详细的头部信息。
journalctl -a
执行此命令会查看存储在系统 journal 中的完整日志历史。包括过去和现在的、与当前控制台关联的以及不关联的所有日志条目,不论它们的日志级别(优先级)如何。
journalctl -xe
journalctl -xe命令主要用于查看系统最新的、详尽的日志信息,且这些信息会直接输出到终端屏幕,方便用户实时监控系统的最新状态和事件。
id mirror
journalctl _UID=1000 -n 20
从系统日志中查找并显示由用户ID为1000的用户产生的最近20条日志条目。
journalctl --since "2024-01-23 12:00:00" --until "2024-01-23 14:00:00"
--since "2024-01-23 12:00:00"
:这个选项用于从特定时间点开始显示日志记录,即从2024年1月23日的中午12点开始。
--until "2024-01-23 14:00:00"
:这个选项用于限制输出的日志条目范围,仅显示直到特定时间点的日志记录,此处指到同一天下午2点为止。
journalctl -u ssh.service
或者
journalctl --unit ssh.service
查看某个服务的日志,这里举例的是ssh服务。
日志路径 | 说明 |
---|---|
/var/log/message | 全局系统日志,包括登录,对服务启停认证等 |
/var/log/lastlog | 不是一个文本文件,需要用lastlog命令读,保存了用户最近的登录信息 |
/var/log/yun.log | 最近通过yum安装的程序的日志 |
/var/log/cron | 定时任务的日志 |
/var/log/boot.log | 启动日志 |
/var/log/kern | 内核日志,也可以通过dmesg查看 |