自学内容网 自学内容网

二十、文件系统和日志管理

文件系统:

文件系统提供了一个接口,用户用来访问硬件设备(硬盘)

                  硬盘设备上对文件的管理

文件存储在硬盘上,硬盘最小的存储单位是512字节,扇区。

   文件在硬盘上的最小存储单位: 块 block    一个块的大小是4k

   一个块就是连续的8个扇区

存储文件的方式:

实际数据和元信息

实际数据:文件内部的数据保存在硬盘上

元信息:文件的所有者,所在组,最后一次修改时间,文件的大小,文件的权限

存储元 信息的标识:  inode号

inode: 不包含文件名,每个文件(目录)创建都会分配一个全局(当前设备)唯一的识别码。

识别码inode,当一个文件被删除之后,inode号也会回收,供下一个文件继续使用。

系统都是识别inode号

一个文件必须有一个inode号,至少占用一个块。

查找inode号:

ls -i            stat   文件名

stat 文件名

访问时间:2024-11-07 09;04;48.401233894 +0800

atime accesstime :当用户读这个文件,更新这个时间

修改时间: 2024-11-07 09;04;48.401233894 +0800

mtime modify time :更新数据大小和权限时,会修改这个时间

变更时间: 2024-11-07 09;04;48.401233894 +0800

ctime status time :只当修改权限和属性时,会发生变化

inode号用尽了,文件无法再创建了,怎么查看一个文件系统可用的inode号?

df -i  查看挂载点inode号使用的情况

inode号:硬盘的空间越大,可用的inode号越多。

工作当中的涉及的环境:

dev:开发环境  开发人员专用

sit:测试环境  测试人员以及运维人员使用的环境

pre:预生产环境   sit和pre环境与生产环境是同步的   开发   测试   运维

prd:生产环境  对外提供访问的环境  

inode号和文件名分离,使得linux操作系统会出现以下几个现象:

1、文件包含特殊字符可能无法正常删除(rm -rf),只能提供inode号进行删除

2、剪切或者重命名文件,inode号不会发生变化

3、当我们对文件进行操作时,系统以inode号来识别,不以文件名

4、文件的数据发生变化,文件的权限发生变化,inode号也发生变化。

模拟inode号耗尽的情况:

ext4:用完了inode号,不能再创建文件

xfs:inode号用尽,xfs还可以创建文件 70-80个  200-400个

文件的备份和恢复*:

ext4和xfs

xfs实现备份和恢复:

xfsdump 备份

xfsrestore 恢复

xfsdump恢复有两个级别:0    1-9

0:表示完全备份

1-9:  增量备份(不用)

xfsdump默认级别就是0,完全备份

xfsdump的常用选项:

-f  指定备份文件目录

-L  指定标签

-M 指定设备标签

-s 备份单个文件(一般不使用)

xfsdump -f /opt/backup /dev/sdb2 [-L backup -M sdb2]

-f /opt/backup   backups是一个文件,而且必须是空文件,否则备份会失败 而且不能是目录

/dev/sdb2 备份的设备

-L 备份文件的标签

-M 备份设备的标签

把/dev/sdb2里面的所有文件备份到/opt/backup的文件当中。备份的是二进制代码,通过代码恢复inode号。

xfsrestore -f /opt/backup/data2

-f 指定从哪个备份文件进行恢复

xfs备份恢复注意点:

1、只有root权限才能备份和恢复

2、备份的目录必须是已挂载的设备

3、挂载的设备必须是xfs文件系统

4、恢复数据必须使用xfsrestore进行解析

5、两个设备的UUID相同不能备份

日志管理:

日志:记录系统或者是应用运行期间“所有信息”的文档。记录了一些必要信息,关键点信息。

信息的意义:

1、判断系统或者程序是否正常

2、记录了故障的信息,告诉了我们是什么原因产生的故障。

一般来说,系统的日志:

/var/log/syslog      ubuntu

/var/log/messages       centos

服务日志:

1、一般的应用安装完整之后,/var/log/服务的名称/

2、自定义位置,修改应用的配置文件,可以自定义服务的日志路径

3、日志就在应用的安装目录  logs目录

基本上90%的应用日志的目录都是logs。

都是以.log为结尾的文件

常见的系统日志文件:

/var/log/syslog:记录了linux系统的内核信息以及各种应用的公共日志信息(系统控制产生的信息),包括启动,IO错误,网络错误,程序的故障等等。

服务自己的日志:记录的就是使用这个程序过程中产生的信息,不会记录到系统的日志中。

系统日志:基本操作系统控制,产生的日志信息

/var/log/cron:记录的是定时任务产生的信息

/var/log/secure:用户登入系统认证的相关信息

/var/log/maillog:记录的是电子邮件的信息

linux日志的级别:

0-7:

数字越小,优先级越高,消息越重要

0 EMERG 紧急,系统/应用不可用,系统崩溃,服务崩溃等重要信息。

1 ALERT 警告,必须马上采取措施的信息,磁盘快满了,数据库被破坏

2 CRIT 严重,程序的功能丧失,程序无法正常访问

3 ERROR 错误,运行出现了错误,需要尽快修复(看情况)

4 warning 提醒 ,可能影响,但是不重要,只是提醒用户。不属于报错的范围

5 NOTICE 注意,不影响正常功能,但是需要注意的事件,无需处理

6 INFO 信息,一般信息,正常运行的信息。

7 DEBUG 调试,开发人员调试程序时产生的信息

none 没有优先级,不记录任何消息日志

以上的优先级,可以用户自定义日志的级别,已获取我们想要的内容。

*.*

左边:应用名称

右边:日志级别

如:Mail.info  收集邮件的信息,包含info以及info以上级别的信息。

Mail.info   /var/log/mail.log 收集邮件的信息,包含info以及info以上级别的信息

Mail.=info/var/log/mail.log  收集邮件的信息,只收集info级别的日志

Mail.!info  除了info级别的信息,其他的都收集

*.info  /var/log/syslog     *所有的程序

Mail.*                      *所有级别的日志都收集

*.info;mail.none;nginx.=error     /var/log/syslog

所有的程序的一般及一般以上的邮件的日志不记录和nginx只记录error的日志    保存到/var/log/syslog

设备的字段:

auth 用户认证的日志

systend 系统管理程序的日志

cron 定时任务的信息

user  用户进行信息

mail 邮件信息

kern 系统内核的信息

locall:自定义服务,我们可以直接定义我们需要保存的日志0-7都可以使用。对应的程序设置的local等级要一致

系统日志:

Nov 7 13:54:33 :日志产生的时间

test1 主机名

systemd[1]:systemd就是设备字段  [1] 运行的pid号 systemd这个程序是系统当中的第一个进程systemd是所有进程的父进程。

Failed to --------------server: 日志的内容

应用日志:

192.168.233.1:谁访问了nginx的服务

[07/Nov/2024:13:52:58 +0800]:访问nginx的时间

“GET/123 HTTP/1.1”: GET访问nginx的方式

                                  /123 访问的内容

                                  http/1.1: 访问使用协议

404:当对方请求之后,nginx给客户端的响应码 告诉用户访问的结果是成功还是失败

“Mozilla/5.0-------------537.36”

记录客户端访问nginx的方式。

1、ssh服务单独存放

rsyslog linux系统管理系统日志的工具

cd /opt/

vim /etc/rsyslog.conf

vim /etc/ssh/sshd_config

systemctl restart rsyslog.service

systemctl restart sshd

cd /var/log/

ls

tail -f ssh.log

journalctl日志管理工具:查看系统日志,应用日志不再管理范围之内

journalctl -u应用名称

journalctl_PLD=? 进程的pid号

查看指定用户的日志:

journalctl_UID=0 --since today  #指定用户今天的日志

journalctl_UID=0 --since yesterday   #指定用户昨天产生的日志

journalctl -xe

查看系统中systemd的错误日志


原文地址:https://blog.csdn.net/2401_87896172/article/details/143584969

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!