文件系统 日志分析

一:inode

Linux的存储机制1 inode  2 block

文件会生成一个inode号

文件必然要存储空间占用block块,最小是4K,如果不满4K也要占用一个block

Inodeh号:是元信息(文件的属性)

存储的元信息包含文件的创建者,更改周期,文件的大小,文件的权限,

一般inode号占用的空间的512k左右,128字节-256字节

df -i 查看inode号使用情况,

block存储数据

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


■用户通过文件名打开文件时,系统内部的过程
1.系统找到这个文件名对应的inode号码
2.通过inode号码, 获取inode信息
3.根据inode信息, 找到文件数据所在的block, 读出数
■查看inode号码的方法
●ls -i命令:查看文件名对应的inode号码
Is -i aa.txt
●stat命令:查看文件inode信息中的inode号码
stat aa.txt

ls -i 第一个数字串是inode号

atime:访问这个文件会改变这个时间

mtime: 修改文件的数据内容,会更新

ctime:修改文件的权限或者属性,修改文件内容可能会变

文件名和inode 号剥离之后:

1-----文件包含特俗字符,可能无法正常删除,这时可以通过Iinode 号。直接找到数据的所在快,直接删除,

2-----移动,重命名,不影响,iNode

3----一旦打开文件之后,系统全部以inode号来识别,,文件名不再考虑

4----vim编辑器,修改文件会后,可能会生成新的inode号

5---文件名不在元信息当中

Find /opt/ -inum inode号 -exec rm -rf {} |;删除乱码文件

二:xfs文件系统进行备份和恢复文件

Cetos7默认使用xfs文件系统

xfsdump的备份是有级别的0表示全量备份,1-9表示增量备份

1:xfsdump的命令格式和选项:

-f---指定备份文件的目录

-L ---指定目录标签

-l  ---指定备份级别

-M ---指定设备标签

- s ----备份单个文件

2:xfsdump使用时有限制的:

  1. -只能恢复已经挂载的文件设备
  2. 只能备份xfs文件系统
  3. 必须要有root权限 ,
  4. -数据恢复只能通过xfsrestore解析,进行恢复
  5. -若两个设备的UUID相同,则无法进行备份

xfsdump:备份磁盘数据      xfsrestore:恢复数据

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

解释:

backup:备份到的空文件(未存在的文件,备份完自动生成)

/dev/sdb1:要备份的文件设备

[-L backup -M sdb1]:设备标签

xfsrestore -f /opt/backup /data/  #恢复数据到data

注释:-f前添加-l 数字  备份级别是增量备份

3:备份恢复的实验:

步骤:

1-----rpm -q xfsdump

2----yum -y install xfsdump  #(安装xfsdump工具)

3----data目录下 xfsdump -f /opt/backup /dev/sdb1 [- Lbackup -M sdb1]

4----cd opt backup已经生成

5----cd -到data 目录

6----ls  123 456

7----rm -rf *

8----cd /opt/

9----xfsrestore -f /opt/backup /data/

9----cd - 回到data

10----ls cat123

日志分析:

内核以及系统日志由rsyslog统一管理

配置文件在:/etc/rsyslog.conf

配置文件里面的内容是固定格式

例如:httpd.conf

           nginx.conf

日志默认保存在/var/log目录下

/etc/rsyslog.conf  --定义规则的,可以添加日志规则的包含了系统需要记录和日志类型和级别

/var/log  --   系统日志

/var/log/messages --内核日志,各种应用程序包括第三方程序的控制日志

/var/log/cron ---    定时任务的日志记录

日志记录的规则

日志级别:0-7

0 EMERG---紧急

1 ALERT--- 警告

2 CRIT ---严重

3 ERR ----错误服务或者程序运行时出现错误。

4 WARNING---提醒:可能会影响系统功能,需要提示用户注意。不是报错。磁盘使用

5 NOTICE---注意不会影响正常功能但是需要注意,一般不做处理。 

6  info----一般信息,系统的正常信息

7  DEBUG---调试,调试程序时候用的

none没有优先級,而且不记录任何日志消息。

*.info: 所有info级别的日志,保存到var/log/messages|

*.=info 明确指定只保存info级别的日志

*.!info除了Info级别的都要

*.info;*.notice 包含info和notice的日志,以及以上级别的日志都要

4:日志设备类型:

Auh 用户认证

Authpriv:认证的是远程登录产生的日志信息,shh

News:网络信息记录的时间日志,

Cron:定时任务

Kern:内核的事见消息

Mail:邮件

User:用户进程记录的日志

5;举例:

*.info;mail.none;authpriv.none;cron.none /var/log/messages

所有的设备字段都包含只到info级别。而且还包含info级别以上的日志,要记录到/var/log/messages

左边是设备右边是级别,以点为分割

6:日志格式:记录的内容

Sep 7 12:50:01 test1 systemd: Started Session 25 of user root.

Sep 7 13:00:01 test1 systemd: Started Session 26 of user root.

Sep 7 13:01:01 test1 systemd: Started Session 27 of user root.

时间轴            主机名   字系统名, 消息或者发生时间的具体内容

7分析工具

users:展示登录当前系统的用户  

w:显示目前登录系统的详细信息

last: 列出截止目前等过系统的信息

实验1:ssh 远程服务日志单独存放

#第一步test1/2关闭防护墙,安全机制
setenforce 0
systemtl stop firewalld
#test1更改配置文件
vim etc/rsyslog.conf
#自定义一个日志文件到/var/log/ssh.log  
在local7.*下面输入:     对应的日志目录下输入:
local6.* *                          /var/log/ssh.log
#保存退出
#打开ssh下面的配置文件
vim /etc/ssh/sshd_config
#set nu
#到33行后 把32行系统默认自带的日志文件Syslog开口的注释掉
加上#键
#在34行添加一个和32行配置文件名称一样的SyslogFacility
重新定义一个匹配和rsyslog里面自定义名称相同的local6
SyslogFacility LOCAL6
#wq!保存
#重启上面的2个配置这样文件才能生效
systemctl restart rsyslog.service
systemctl restart sshd
  #切换到test2,
ssh root@20.0.0.10(这是一个固定格式我要发起远程连接登录的账户是root来登录20.0.0.10的服务器
#输入yes
#password:输入20.0.0.10的密码(输完主机名变成test1)
#切换到test1
cd /var/log/ ls  找到 ssh.log(有消息有日志才会有内容)
#查看ssh的日志(可以看到test2的登录记录
tail -f ssh.log  
#切换test2
exit
test1这边会有一个登出的记录

实验2:配置日志服务器,收集日志 (test2主机的系统日志不再记录到自己本地,而是发送到test2的服务器上)

#在test2上.
防火墙安全机制也要关
vim etc/rsyslog.conf
找到tcp协议下面的两行#键 注释掉,打开端口  (注释的代码是不执行的让两个文件不生效)
找到info;mail,none开头的日志  yy p dd上面一段,
把后面的日志目的地改为 @@20.0.0.10   (    通过tcp协议的514端口发送到10端口/var/log/messages)
#保存退出
systemctl restart rsyslog.service
netstat -antp | grep 514    (查看514端口是否正常运行)
#切换到test1
vim etc/rsyslog.conf
把tcp的端口取消注释掉
wq! 
systemctl restart rsyslog.service
netstat -antp | grep 514 
tail -f /var/log/messages
#切换到test2 logger 发送消息
logger "ky32"
#切换到test1
有消息了ky32
#把test2打开一个
tail -f /var/log/messages
#回到第一个test2(装阿帕奇)
yum -y install httpd
systemctl restart httpd
#第三个test2没有安装记录了 在 test1 了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值