网站自己做还是找人做,襄阳门做网站,北京建设监理协会官方网站,国内主流网站开发技术文件系统和日志管理
文件系统#xff1a;文件系统提供了一个接口#xff0c;用户用来访问硬件设备#xff08;硬盘#xff09;。
硬件设备上对文件的管理
文件存储在硬盘上#xff0c;硬盘最小的存储单位是512字节#xff0c;扇区。
文件在硬盘上的最小存储单位…文件系统和日志管理
文件系统文件系统提供了一个接口用户用来访问硬件设备硬盘。
硬件设备上对文件的管理
文件存储在硬盘上硬盘最小的存储单位是512字节扇区。
文件在硬盘上的最小存储单位块 block 一个块的大小是4k
一个块就是连续的8个扇区
存储文件的方式
实际数据和元信息
实际数据文件内部的数据保存在硬盘上
元信息文件的所有者、所在组、最后一次修改时间文件的大小文件的权限
存储元信息的标识inode号
inode不包含文件名每个文件目录创建都会分配一个全局当前设备唯一的识别码
识别码inode当一个文件被删除之后inode号也会回收供下一个文件继续使用。
/dev/sdb1 /data1 2
/dev/sdc1 /data2 2
系统都是识别文件的inode号
一个文件必须有一个inode号至少占用一个块。 inode号 元信息
1、获取文件的inode
2、找到文件在磁盘当中的位置
3、根据元信息查询这个用户的权限
4、由权限才能对文件进行指定的操作
5、更新数据------文件内容进行了修改inode号有可能发生变化。
6、如果权限发生变化inode一定会变 inode号用尽了文件无法再创建了怎么查看一个文件系统可用的inode号
df -i 查看挂载点inode号使用的情况
inode号硬盘的空间越大可用的inode号越多。 工作当中的涉及的环境
dev 开发环境 开发人员专用
sit:测试环境 测试人员以及运维人员使用的环境
pre预生产环境 sit和pre环境与生产环境是同步的 开发 测试 运维
prd生产环境 对外提供访问的环境 jnode号和文件名分离使得linux操作系统会出现以下几个现象
文件包含特殊字符可能无法正常删除rm -rf只能通过inode号进行删除
剪切或者重命名文件inode号不会发生变化
当我们对文件进行操作时系统以inode号来识别不以文件名
文件的数据发生变化文件的权限发生变化inode号也会发生变化。 模拟inode号耗尽的情况
ext4 用完了inode号ext4文件不能在创建文件
xfs inode号用尽xfs还可以创建文件70-80个 200-400个 xfs实现备份和恢复apt -y install xfsdump xfsprogs1039
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 backup是一个文件而且必须是空文件否则备份会失败而且不能是目录
/dev/sdb2 备份的设备
-L 备份文件的标签 -M 备份设备的标签
把/dev/sdb2里面的所有文件备份到/opt/backup的文件当中。备份的是二进制代码通过代码恢复inode号。
xfsrestore -f /opt/backup /data2
-f 指定从哪个备份文件进行恢复 日志系统
日志记录系统或者是应用运行期间“所有信息”的文档。记录了一些必要信息关键的信息
信息的意义
1、判断系统或者程序是否正常
2、记录了故障的信息告诉我们是什么原因产生的故障
一般来说系统的日志
/var/log/syslog
/var/log/messages 服务日志
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 没有优先级不记录任何消息日志
以上的优先级可以用户自定义日志的级别已获取我们想要的内容。
*info;mail.none:nginx.error /var/log/syslog
所有的程序的一般及一般以上和邮件的日志不记录和nginx只记录error的日志 保存到/var/log/syslog。
设备的字段
auth 用户认证的日志
systemd 系统管理程序的日志
cron 定时任务的信息
user 用户进程信息
mail 邮件信息
kern 系统内核的信息
local 自定义服务我们可以自己定义我们需要保存的日志0-7都可以使用。对应的程序设置的local等级要一致 系统日志
Nov 7 13:54:33 test1 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Nov 7 13:54:33: 日志产生的时间
test1 主机名
systemd[1]: systemd就是设备字段 [1], 运行的pid号 systemd这个程序是系统当中的第一个进程 systemd是所有进程的父进程,
Failed to start A high performance web server and a reverse proxy server: 日志的内容 应用日志:
192.168.233.1 -- 07/Nov/2024:13:52:58 0800 GET /123 HTTP/1.1 404 197 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
记录客户端访问nginx的方式。 ssh服务单独存放
rsyslog Linux系统管理系统日志的工具。
journalctl 日志管理管理查看系统日志应用日志不再管理范围之内
journalctl -u 应用名称
journalctl _PID? 进程的pid号
查看指定用户的日志
journalctl _UID0 --since today #指定用户今天的日志
journalctl _UID0 --since yesterday #指定用户昨天产生的日志
journalctl -xe
查看系统中systemd的错误的日志 实验第二台虚拟机远程访问第一台虚拟机的日志
cd到opt目录下vim /etc/rsyslog.conf文件 打开后set nu显示行数 在第50行输入local6代码wq保存退出 修改sshd文件
修改sshd的配置文件 找到在第28行下面输入之前的local6配置文件注意这里的local要大写 只要修改了应用的配置文件一定要重启才生效分别重启rsyslog和sshd重启后cd到/var/log发现有ssh.log文件如果没有可以看下一步 来到第二个虚拟机 ssh root 远程连接到第一个 出现此界面成功此时var/log目录下就会出现ssh.log打开xshell连接就相当于是ssh 这个命令只是没有图形化界面 tail一下ssh.log命令看一下最后一行已经连接成功了当你重复开启第一个xshell连接时此处的日志会反复刷新