【Linux】了解文件的inode元信息,以及日志分析

目录

一、inode表结构,以及元信息

1、了解inode信息有哪些

2、关于inode表的说明

Linux中访问文件的过程:

3、硬连接与软连接的区别,(请看前面,写过的)

二、文件系统的备份与恢复

三、几种常见的日志

四、系统日志管理

1、根据信息的优先级别重要程度,设置日志消息的不同级别

2、rsyslog配置文件的格式

实操1、修改/etc/rsyslog.cong和/etc/ssh/sshd_config配置文件,将ssh服务的日志单独生成,便于查看

实操2、修改/etc/rsyslog.cong配置文件,打开tcp或udp端口,共享传输日志信息

五、journalctl日志管理

案例说明


一、inode表结构,以及元信息

1、了解inode信息有哪些

inode表的元信息有哪些
inode号相当于文件的身份证号
文件类型七大文件类型
文件权限读、写、执行
文件属主uid
文件属组gid
文件硬链接数指向文件名路径名称的个数
该文件占块的大小块大小
该文件的实际大小实际大小
文件的三种时间atime访问时间,mtime修改时间,ctime元信息变化时间
指向磁盘上文件的数据块指针 指向真实数据的块(可以理解为坐标)
有关文件的其他数据 不知道啥意思,理解为间接指针等等

查看inode号的命令方法:ls -i和stat

关于文件的三种时间戳

最近访问atime:最后一次查看文件(cat、vim、more、less、head、tail等)
最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变(内容改变)
最近改动ctime:最近更改文件元信息的时间,比如改变权限等(mtime变化ctime也会跟着变)

2、关于inode表的说明

①文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。 一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。4k一读,8个扇区一读文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 因此,一个文件必须占用一个inode,并且至少占用一个block。

②du 显示inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。

③每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名。

④同一设备上,不可能出现相同inode号(不同设备可以);inode号的数量与硬盘分区大小有关,可以使用df -i查看,inode号是有限制的!!

Linux中访问文件的过程:

当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码:通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

3、硬连接与软连接的区别,(请看前面,写过的)

 硬连接软连接
本质与源是相同的文件与源不是一个文件
inode号与源相同与源不同
文件类型与源相同,不是l与源不同,为l
目录不能对目录创建可以对目录创建
文件大小与源文件一样文件大小与源路径字符有关
修改内容修改源一起生效修改源一起生效
删除删除源无影响删除源失效
权限修改权限一起生效原本权限就不同,修改权限不一起生效
连接数连接数一样,有多少个硬连接就是连接数与源连接数不一样,软连接始终为1

二、文件系统的备份与恢复

ext4文件不能备份和恢复,xfs文件系统可以恢复

[root@localhost ~]# xfsdump -f /opt/dump_sdb2        /dev/sdb2           [-L dump_sdb1 -M sdb1]
#                    命令   指定备份目录路径和文件名      分区                 打上标记 现在不打后面也要输入
#使用 xfsdump 命令备份整个分区  并打上标记[root@localhost opt]#xfsrestore -f /opt/dump_sdb1 /data/
# 使用 bak文件 将数据恢复到 /data 下[root@localhost opt]#ls /data/
passwd  test

这个之前写过了,请查看这篇文章https://blog.csdn.net/liu_xueyin/article/details/133709038?spm=1001.2014.3001.5502

三、几种常见的日志

日志类型日志内容
/var/log/messages系统中的大部分信息,配置文件中是info级别以内的日志文件
它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。
I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。
/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/btmp登录失败的日志,二进制文件,不可查看,用lastb命令查看
/var/log/wtmp永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/log/lastlog记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/tun/ulmp记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看
/var/log/dmesg设备日志信息,记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/boot.log系统启动的日志信息
/var/log/anaconda系统安装时候的日志信息
/var/log/cron   记录与系统定时任务相关的曰志(crontab和at相关)
/var/log/maillog   邮件日志记录邮件信息的曰志

四、系统日志管理

1、根据信息的优先级别重要程度,设置日志消息的不同级别

级别级别英文全称什么意思
0EMERG(紧急)emerge会导致主机系统不可用的情况。
1ALERT(警告)alert必须马上采取措施解决的问题。
2CRIT(严重)critic比较严重的情况。
3ERR(错误)error运行出现错误。
4WARNING(提醒)warning可能影响系统功能,需要提醒用户的重要事件。 
5NOTICE(注意)notice不会影响正常功能,但是需要注意的事件。 
6INFO(信息)information一般信息。 
7DEBUG(调试)debug程序或系统调试信息等

2、rsyslog配置文件的格式

rsyslog  相关文件
- 程序包:rsyslog
- 主程序:/usr/sbin/rsyslogd
- CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}
- CentOS 7,8:/usr/lib/systemd/system/rsyslog.service
- 配置文件:/etc/rsyslog.conf(主),/etc/rsyslog.d/*.conf(子)
- 库文件: /lib64/rsyslog/*.so 

/etc/rsyslog.conf配置文件格式:由三部分组成

- MODULES:相关模块配置
- GLOBAL DIRECTIVES:全局配置
- RULES:日志记录相关的规则配置

服务名称说 明
auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7为本地使用预留的服务(可以自定义的facility)
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息
news (LOG_NEWS)与新闻服务器相关的日志
syslog (LOG_SYSLOG)存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER)用户等级类别的日志信息
uucp (LOG_UUCP>uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中

实操1、修改/etc/rsyslog.cong和/etc/ssh/sshd_config配置文件,将ssh服务的日志单独生成,便于查看

ssh服务是远程连接,该应用程序没有独立的日志文件,涉及安全认证,存放在/var/log/secure      先测试一下,两台主机均关闭安全机制和防火墙,进行ssh  ip地址远程连接[root@localhost ~]#tail -f /var/log/secure
#查看ssh服务的日志位置为了把日志文件独立成出来,一起来修改两个配置文件     分别是:
服务的配置文件/etc/ssh/sshd_config
日志系统的配置文件/etc/rsyslog.conf[root@localhost ~]#vim /etc/ssh/sshd_config
#修改ssh配置文件,32下一行添加自己的自定义
32 #SyslogFacility AUTHPRIV
33 SyslogFacility local5这里需要注意:rsyslog的自定义模块只有local 0-7,编号和其他字母都不可以!![root@localhost ~]#vim /etc/rsyslog.conf
#76 行添加自己的文件位置local5.*           /data/ssh.log  ##具体日志位置可以自定义,看访问需求[root@localhost log]#systemctl restart rsyslog.service sshd
#修改完配置文件,一定要重启两个服务[root@localhost ~]tail -f /data/ssh.log用另一台主机进行ssh  ip地址远程连接,测试一下

验证日志信息

实操2、修改/etc/rsyslog.cong配置文件,打开tcp或udp端口,共享传输日志信息

#开启日志的远程传输功能在192.168.20.18主机上备份192.168.20.10的基础日志环境需求,需要两台主机关闭安全机制,防火墙,以及同时都打开tcp的514端口(我这里只实验了tcp的514端口)#关于主机192.168.20.18,在/etc/rsyslog.conf配置文件中,打开tcp的514端口,并重新加载服务[root@localhost ~]#vim /etc/rsyslog.conf 
#打开19 20 行
19 $ModLoad imtcp
20 $InputTCPServerRun 514
[root@localhost ~]#ss -ntap |grep 514
#查看514端口是否打开[root@localhost ~]systemctl restart rsyslog.service##关于主机192.168.20.10,在/etc/rsyslog.conf配置文件中,打开tcp的514端口,并且共享日志信息至服务端,并重新加载服务
[root@testhost ~]#vim /etc/rsyslog.conf 
#打开19 20 行
19 $ModLoad imtcp
20 $InputTCPServerRun 514
[root@testhost ~]#ss -ntap |grep 514
#查看514端口是否打开[root@testhost ~]#vim /etc/rsyslog.conf 
#修改配置文件
54 *.info;mail.none;authpriv.none;cron.none     /var/log/messages
#复制54行                                       改成ip地址
55 *.info;mail.none;authpriv.none;cron.none     @@192.168.91.100#两个@ 代表使用  tcp  一个代表udp
如果修改 的是udp  @192.168.91.100
如果要想指定端口  @192.168.91.100:端口号[root@testhost ~]systemctl restart rsyslog.service[root@testhost ~]#logger "this is test log from 192.168.91.101 2"
#测试,写日志进去验证查看
主机192.168.20.18:
[root@localhost ~]#tail -f /var/log/messages主机192.168.20.10查看自己的
[root@testhost data]#tail -f /var/log/messages

五、journalctl日志管理

journalctl命令可以对systemd管理的服务日志进行统一收集管理,

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

注意两个选项:

配置文件/etc/systemd/journald.conf

命令相关选项:

--no-full, --full, -l如果字段内容超长则以省略号(...)截断以适应列宽。默认显示完整的字段内容(超长的部分换行显示或者被分页工具截断)。老旧的 -l/--full 选项 仅用于撤销已有的 --no-full 选项,除此之外没有其他用处。
-a, --all完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长。
-f, --follow只显示最新的日志项,并且不断显示新生成的日志项。 此选项隐含了 -n 选项。
-e, --pager-end在分页工具内立即跳转到日志的尾部。 此选项隐含了 -n1000以确保分页工具不必缓存太多的日志行。 不过这个隐含的行数可以被明确设置的 -n选项覆盖。 注意,此选项仅可用于 less(1) 分页器。
-n, --lines=限制显示最新的日志行数。 --pager-end 与 --follow 隐含了此选项。此选项的参数:若为正整数则表示最大行数; 若为 "all" 则表示不限制行数;若不设参数则表示默认值10行。
--no-tail显示所有日志行, 也就是用于撤销已有的 --lines= 选项(即使与 -f 连用)。
-r, --reverse反转日志行的输出顺序, 也就是最先显示最新的日志。
-o, --output=控制日志的输出格式。 可以使用如下选项:short这是默认值, 其输出格式与传统的 syslog[1] 文件的格式相似, 每条日志一行。short-iso与 short 类似,只是将时间戳字段以 ISO 8601 格式显示。short-precise与 short 类似,只是将时间戳字段的秒数精确到微秒级别。short-monotonic与 short 类似,只是将时间戳字段的零值从内核启动时开始计算。short-unix与 short 类似,只是将时间戳字段显示为从"UNIX时间原点"(1970-1-1 00:00:00UTC)以来的秒数。 精确到微秒级别。verbose以结构化的格式显示每条日志的所有字段。export将日志序列化为二进制字节流(大部分依然是文本) 以适用于备份与网络传输(详见Journal Export Format[2] 文档)。json将日志项按照JSON数据结构格式化, 每条日志一行(详见 Journal JSON Format[3]文档)。json-pretty将日志项按照JSON数据结构格式化, 但是每个字段一行, 以便于人类阅读。json-sse将日志项按照JSON数据结构格式化,每条日志一行,但是用大括号包围, 以适应Server-Sent Events[4] 的要求。cat仅显示日志的实际内容, 而不显示与此日志相关的任何元数据(包括时间戳)。
--utc以世界统一时间(UTC)表示时间
--no-hostname不显示来源于本机的日志消息的主机名字段。 此选项仅对 short系列输出格式(见上文)有效。
-x, --catalog在日志的输出中增加一些解释性的短文本, 以帮助进一步说明日志的含义、问题的解决方案、支持论坛、 开发文档、以及其他任何内容。并非所有日志都有这些额外的帮助文本, 详见 Message Catalog DeveloperDocumentation[5] 文档。注意,如果要将日志输出用于bug报告, 请不要使用此选项。
-q, --quiet当以普通用户身份运行时, 不显示任何警告信息与提示信息。 例如:"-- Logs begin at...", "-- Reboot --"
-m, --merge混合显示包括远程日志在内的所有可见日志。
-b [ID][±offset], --boot=[ID][±offset]显示特定于某次启动的日志, 这相当于添加了一个 "_BOOT_ID=" 匹配条件。如果参数为空(也就是 ID 与 ±offset 都未指定), 则表示仅显示本次启动的日志。如果省略了 ID , 那么当 ±offset 是正数的时候, 将从日志头开始正向查找,否则(也就是为负数或零)将从日志尾开始反响查找。 举例来说, "-b1"表示按时间顺序排列最早的那次启动, "-b 2"则表示在时间上第二早的那次启动; "-b-0"表示最后一次启动, "-b -1"表示在时间上第二近的那次启动, 以此类推。 如果±offset 也省略了, 那么相当于"-b -0", 除非本次启动不是最后一次启动(例如用--directory 指定了另外一台主机上的日志目录)。如果指定了32字符的 ID , 那么表示以此 ID 所代表的那次启动为基准计算偏移量(±offset), 计算方法同上。 换句话说, 省略 ID 表示以本次启动为基准计算偏移量(±offset)。
--list-boots列出每次启动的 序号(也就是相对于本次启动的偏移量)、32字符的ID、第一条日志的时间戳、最后一条日志的时间戳。
-k, --dmesg仅显示内核日志。隐含了 -b 选项以及 "_TRANSPORT=kernel" 匹配项。
-t, --identifier=SYSLOG_IDENTIFIER仅显示 syslog[1] 识别符为 SYSLOG_IDENTIFIER 的日志项。可以多次使用该选项以指定多个识别符。
-u, --unit=UNIT|PATTERN仅显示属于特定单元的日志。 也就是单元名称正好等于 UNIT 或者符合 PATTERN模式的单元。 这相当于添加了一个 "_SYSTEMD_UNIT=UNIT" 匹配项(对于 UNIT 来说),或一组匹配项(对于 PATTERN 来说)。可以多次使用此选项以添加多个并列的匹配条件(相当于用"OR"逻辑连接)。
--user-unit=仅显示属于特定用户会话单元的日志。 相当于同时添加了 "_SYSTEMD_USER_UNIT=" 与"_UID=" 两个匹配条件。可以多次使用此选项以添加多个并列的匹配条件(相当于用"OR"逻辑连接)。
-p, --priority=根据日志等级(包括等级范围)过滤输出结果。 日志等级数字与其名称之间的对应关系如下(参见 syslog(3)): "emerg" (0), "alert" (1), "crit" (2), "err" (3),"warning" (4), "notice" (5), "info" (6), "debug" (7) 。若设为一个单独的数字或日志等级名称, 则表示仅显示小于或等于此等级的日志(也就是重要程度等于或高于此等级的日志)。 若使用 FROM..TO.. 设置一个范围,则表示仅显示指定的等级范围内(含两端)的日志。 此选项相当于添加了 "PRIORITY="匹配条件。
-c, --cursor=从指定的游标(cursor)开始显示日志。[提示]每条日志都有一个"__CURSOR"字段,类似于该条日志的指纹。
--after-cursor=从指定的游标(cursor)之后开始显示日志。 如果使用了 --show-cursor 选项,则也会显示游标本身。
--show-cursor在最后一条日志之后显示游标, 类似下面这样,以"--"开头:-- cursor: s=0639...游标的具体格式是私有的(也就是没有公开的规范), 并且会变化。
-S, --since=, -U, --until=显示晚于指定时间(--since=)的日志、显示早于指定时间(--until=)的日志。参数的格式类似 "2012-10-30 18:17:16" 这样。 如果省略了"时:分:秒"部分,则相当于设为 "00:00:00" 。 如果仅省略了"秒"的部分则相当于设为 ":00" 。如果省略了"年-月-日"部分, 则相当于设为当前日期。 除了"年-月-日 时:分:秒"格式,参数还可以进行如下设置: (1)设为 "yesterday", "today", "tomorrow"以表示那一天的零点(00:00:00)。 (2)设为 "now" 以表示当前时间。(3)可以在"年-月-日 时:分:秒"前加上 "-"(前移) 或 "+"(后移)前缀以表示相对于当前时间的偏移。 关于时间与日期的详细规范, 参见systemd.time(7)
-F, --field=显示所有日志中某个字段的所有可能值。 [译者注]类似于SQL语句:"SELECT DISTINCT某字段 FROM 全部日志"
-N, --fields输出所有日志字段的名称
--system, --user仅显示系统服务与内核的日志(--system)、 仅显示当前用户的日志(--user)。如果两个选项都未指定,则显示当前用户的所有可见日志。
-M, --machine=显示来自于正在运行的、特定名称的本地容器的日志。 参数必须是一个本地容器的名称。
-D DIR, --directory=DIR仅显示来自于特定目录中的日志, 而不是默认的运行时和系统日志目录中的日志。
--file=GLOBGLOB 是一个可以包含"?"与"*"的文件路径匹配模式。 表示仅显示来自与指定的 GLOB模式匹配的文件中的日志, 而不是默认的运行时和系统日志目录中的日志。可以多次使用此选项以指定多个匹配模式(多个模式之间用"OR"逻辑连接)。
--root=ROOT在对日志进行操作时, 将 ROOT 视为系统的根目录。 例如 --update-catalog 将会创建ROOT/var/lib/systemd/catalog/database
--new-id128此选项并不用于显示日志内容, 而是用于重新生成一个标识日志分类的 128-bit ID 。此选项的目的在于 帮助开发者生成易于辨别的日志消息, 以方便调试。
--header此选项并不用于显示日志内容, 而是用于显示日志文件内部的头信息(类似于元数据)。
--disk-usage此选项并不用于显示日志内容,而是用于显示所有日志文件(归档文件与活动文件)的磁盘占用总量。
--vacuum-size=, --vacuum-time=, --vacuum-files=这些选项并不用于显示日志内容,而是用于清理日志归档文件(并不清理活动的日志文件), 以释放磁盘空间。--vacuum-size= 可用于限制归档文件的最大磁盘使用量 (可以使用 "K", "M", "G", "T"后缀); --vacuum-time= 可用于清除指定时间之前的归档 (可以使用 "s", "m", "h","days", "weeks", "months", "years" 后缀); --vacuum-files=可用于限制日志归档文件的最大数量。 注意,--vacuum-size= 对 --disk-usage的输出仅有间接效果, 因为 --disk-usage 输出的是归档日志与活动日志的总量。同样,--vacuum-files= 也未必一定会减少日志文件的总数,因为它同样仅作用于归档文件而不会删除活动的日志文件。此三个选项可以同时使用,以同时从三个维度去限制归档文件。若将某选项设为零,则表示取消此选项的限制。
--list-catalog [128-bit-ID...]简要列出日志分类信息, 其中包括对分类信息的简要描述。如果明确指定了分类ID(128-bit-ID), 那么仅显示指定的分类。
--dump-catalog [128-bit-ID...]详细列出日志分类信息 (格式与 .catalog 文件相同)。如果明确指定了分类ID(128-bit-ID), 那么仅显示指定的分类。
--update-catalog更新日志分类索引二进制文件。每当安装、删除、更新了分类文件,都需要执行一次此动作。
--setup-keys此选项并不用于显示日志内容, 而是用于生成一个新的FSS(Forward SecureSealing)密钥对。 此密钥对包含一个"sealing key"与一个"verification key"。"sealing key"保存在本地日志目录中, 而"verification key"则必须保存在其他地方。详见 journald.conf(5) 中的 Seal= 选项。
--force与 --setup-keys 连用, 表示即使已经配置了FSS(Forward Secure Sealing)密钥对,也要强制重新生成。
--interval=与 --setup-keys 连用,指定"sealing key"的变化间隔。较短的时间间隔会导致占用更多的CPU资源, 但是能够减少未检测的日志变化时间。默认值是 15min
--verify检查日志文件的内在一致性。 如果日志文件在生成时开启了FSS特性, 并且使用--verify-key= 指定了FSS的"verification key",那么,同时还将验证日志文件的真实性。
--verify-key=与 --verify 选项连用, 指定FSS的"verification key"
--sync要求日志守护进程将所有未写入磁盘的日志数据刷写到磁盘上,并且一直阻塞到刷写操作实际完成之后才返回。 因此该命令可以保证当它返回的时候,所有在调用此命令的时间点之前的日志, 已经全部安全的刷写到了磁盘中。
--flush要求日志守护进程 将 /run/log/journal 中的日志数据 刷写到 /var/log/journal 中(如果持久存储设备当前可用的话)。 此操作会一直阻塞到操作完成之后才会返回,因此可以确保在该命令返回时, 数据转移确实已经完成。注意,此命令仅执行一个单独的、一次性的转移动作, 若没有数据需要转移,则此命令什么也不做, 并且也会返回一个表示操作已正确完成的返回值。
--rotate要求日志守护进程滚动日志文件。 此命令会一直阻塞到滚动完成之后才会返回。
-h, --help显示简短的帮助信息并退出。
--version显示简短的版本信息并退出。
--no-pager不将程序的输出内容管道(pipe)给分页程序

案例说明

#查看所有日志(默认情况下 ,只保存本次启动的日志)journalctl
#查看内核日志(不显示应用日志)journalctl -k
#查看系统本次启动的日志
2 实战案例journalctl -bjournalctl -b -0
#查看上一次启动的日志(需更改设置)journalctl -b -1
#查看指定时间的日志journalctl --since="2017-10-30 18:10:30"journalctl --since "20 min ago"journalctl --since yesterdayjournalctl --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.servicejournalctl -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: debugjournalctl -p err -b
#日志默认分页输出,--no-pager 改为正常的标准输出journalctl --no-pager
#日志管理journalctl
#以 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/134824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 模板参数注释 {@link}

1. 新增组 2. 设置方法注释及变量 增加模板文本 ** * $param$ * return {link $return$} */3. 设置变量表达式 勾选跳过param 参数表达式 groovyScript("def result ;def params \"${_1}\".replaceAll([\\\\[|\\\\]|\\\\s], ).split(,).toList();def param…

小白学爬虫:手机app分享商品短连接获取淘宝商品链接接口|淘宝淘口令接口|淘宝真实商品链接接口|淘宝商品详情接口

通过手机APP分享的商品短链接,我们可以调用相应的接口来获取淘口令真实URL,进而获取到PC端的商品链接及商品ID。具体步骤如下: 1、通过手机APP分享至PC端的短链接,调用“item_password”接口。 2、该接口将返回淘口令真实URL。 3…

[Linux] GRUB引导 学习笔记(一)

目录 概念 2.1 BIOS 2.2 UEFI 2.3 MBR与GPT 2.3.1 MBR 2.3.2 GPT 2.3.3 总结 2.4 GRUB GRUB2和GRUB Legacy区别 进入GRUB命令行 命令 GRUB工具命令 GRUB2配置 1.主要配置文件 2. 通过/etc/default/grub文件生成grub.cfg 定制GRUB的步骤 概念 BIOS、UEFI、MBR、G…

visual studio 启用DPI识别功能

在开发widow程序时,有时必须将电脑 设置-->显示-->缩放与布局-->更改文本、应用项目的大小-->100%后,程序的画面才能正确运行,居说这是锁定了dpi的原因,需要启dpi识别功能。设置方法如下: 或者

2023中国视频云市场报告:腾讯云音视频解决方案份额连续六次蝉联榜首,加速全球化布局

近日,国际数据公司(IDC)发布了《中国视频云市场跟踪(2023上半年)》报告,腾讯云音视频的解决方案份额连续六次蝉联榜首,并在视频生产创作与媒资管理市场份额中排名第一。同时,在实时音…

虹科示波器 | 汽车免拆检测 | 2017款长安福特翼虎车发动机故障灯异常点亮

一、故障现象 一辆2017款长安福特翼虎车,搭载CAF488WQ9发动机,累计行驶里程约为8.9万km。该车因发动机故障灯异常点亮在其他维修厂检修,维修人员用故障检测仪检测,提示气缸3失火,调换火花塞、点火线圈及喷油器&#xf…

动态、静态IP地址设置方法

目录 一、三种网络模式应用场景以及区别 1、 NAT(Network Address Translation)模式: 2、仅主机(Host-Only)模式: 3、桥接(Bridged)模式: 二、配置步骤 &#xff1a…

SSM之spring注解式缓存redis

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 1.Redis与SSM的整合 1.1.添加Redis依赖 在Maven中添加Redis的依赖 <redis.version>2.9.0</redis.…

0X03

红包题第二弹 看到源码里面的提示 ?cmdphpinfo(); 看到源码 kk 关键点就是有两个正则表达式 第一个 preg_match("/[A-Za-oq-z0-9$]/",$cmd) 第二个 preg_match("/\~|\!|\|\#|\%|\^|\&|\*|\(|\)|\&#xff08;|\&#xff09;|\-|\_|\{|\}|\[|\]|\|\&q…

蓝绿部署:实现无缝可靠的软件发布

在快节奏的软件开发世界中&#xff0c;在不造成中断或停机的情况下向用户提供新功能和更新是一项至关重要的挑战。这就是蓝绿部署策略有用的地方。组织可以通过使用称为“蓝绿部署”的发布管理策略&#xff0c;以安全有效的方式推出其软件的新版本。在快节奏的软件开发世界中&a…

【独家揭秘】跨境电商源码独立开发,软著认证,前后端全开源,无加密,交付源码,商用无忧!

在这个数字化快速发展的时代&#xff0c;跨境电商已成为全球商业的重要趋势。为了帮助您快速进入这个潜力巨大的市场&#xff0c;我们独家推出了一款经过全面验证的跨境电商源码解决方案!这款源码具有独立开发、软著认证、前后端全开源、无加密等特点&#xff0c;为您的商业运营…

批量迁移redis实例的key

我们知道migrate 命令可以迁移redis的多个key&#xff0c;但是如果redis的key有非常多&#xff0c;那用起来就很不方便了。 所以下面分享一个脚本来实现批量key的迁移&#xff0c;主要使用的命令为dump和restore 脚本如下&#xff1a; #!/bin/bash redis-cli -h host1 -p 63…

浅谈开源策略的实例:CGAL计算几何库

免责声明&#xff1a;本博客旨在分享我对开源策略的理解和体会&#xff0c;不代表任何组织或机构的立场或观点&#xff0c;也不构成任何商业或投资的建议或担保。本博客的内容可能存在错误或遗漏&#xff0c;也可能随着时间的推移而变得过时或不适用。请在使用或依赖本博客的内…

吴恩达《机器学习》6-1->6-3:分类问题、假设陈述、决策界限

一、什么是分类问题&#xff1f; 在分类问题中&#xff0c;我们试图预测的变量&#x1d466;是离散的值&#xff0c;通常表示某种类别或标签。这些类别可以是二元的&#xff0c;也可以是多元的。分类问题的示例包括&#xff1a; 判断一封电子邮件是否是垃圾邮件&#xff08;二…

【系统集成项目管理工程师】——3.管理

主要掌握输入&#xff0c;输出内容先看他的过程域本身&#xff0c;过程域是什么输出就是什么 上一个过程域的输出是下一个过程域的输入 十大管理1432都有计划过程组&#xff0c;通常规划为首&#xff0c;控制为尾 规划阶段的万能输出是各子计划&#xff0c;即项目管理计划的…

【第2章 Node.js基础】2.1 JavaScript基本语法

文章目录 学习目标JavaScript版本与JavaScript运行环境JavaScript版本JavaScript运行环境 JavaScript语句与注释语句语句块注释 变量变量的命名变量的声明与赋值变量提升变量泄露全局作用域和函数作用域块级作用域与let关键字使用const关键字声明只读常量注意 数据类型数值&…

引用类型;强引用;软引用;弱引用和虚引用

概述 平时在编写代码的时候内存都是由jvm管理&#xff0c;对象的回收也是jvm在管理&#xff1b; 但是有些时候jvm无法回收对象&#xff0c;最后就会抛出oom异常. 那么那些回收不了的对象肯定有区别于能回收的对象&#xff1b; 先上一波引用类型介绍 强引用 比如平常我们直…

数据结构-Prim算法构造无向图的最小生成树

引子&#xff1a; 无向图如果是一个网&#xff0c;那么它的所有的生成树中必有一颗生成树的边的权值之和是最小的&#xff0c;我们称 这颗权值和最小的树为&#xff1a;“最小生成树”&#xff08;MST&#xff09;。 其中&#xff0c;一棵树的代价就是树中所有权值之和。 而…

Jest和Mocha两者之间有哪些区别?

什么是单元测试&#xff1f; 所谓单元测试&#xff0c;是对软件中单个功能组件进行测试的一种软件测试方式&#xff0c;其目的是确保代码中的每一个基本单元都能正常运行。因此&#xff0c;开发人员在应用程序开发的整个过程&#xff08;即代码编写过程&#xff09;中都需要进…

阿里云服务器登录、安装MySql、配置Python、GO环境

1、刚购买的云服务如何登录 刚购买的ECS没有默认密码&#xff0c;需要先设置一下登录的密码。选中实例&#xff0c;右上角的全部操作-->重置实例密码 如果想通过SSH登录&#xff0c;则一定要勾选开启 修改之后ssh root你机器的ip&#xff0c;输入密码就可以愉快的开始你的操…