结构inode与block硬链接与软联接恢复误删掉的文件剖析日志文件
inode和block概述
文件数据包括元信息与实际数据
文件储存在硬碟上,硬碟最小储存单位是“扇区”,每位磁道储存512字节
block(块)
inode(索引节点)
inode内容
用stat命令可以查看某个文件的inode信息
示例:stataa.txt
ctime(changetime)
最后一次改变文件或目录(属性)的时间
atime(accesstime)
最后一次访问文件或目录的时间
mtime(modifytime)
最后一次更改文件或目录(内容)的时间
目录文件的结构
目录也是一种文件
目录文件的结构
每位inode都有一个号码,操作系统用inode号码来辨识不同的文件
Linux系统内部不使用文件名,而使用inode号码来辨识文件
对于用户,文件名只是inode号码易于辨识的别名
inode的号码
用户通过文件名打开文件时,系统内部的过程
1、系统找到这个文件名对应的inode号码
2、通过inode号码,获取inode信息
3、根据inode信息linux命令ls,找到文件数据所在的block,读出数据
查看inode号码的方式
ls-i命令:查看文件名对应的inode号码
ls-iaa.txt
stat命令:查看文件inode信息中的inode号码
stataa.txt
文件储存小结
硬碟分区后的结构
文件名→目录项目录块
元信息→inodeinode表区块
数据→blockblock数据区
inode的大小
inode也会消耗硬碟空间
每位inode的大小
通常是128字节或256字节
inode的特殊作用
因为inode号码与文件名分离linux服务器日志分析,造成一些Unix/Linux系统具有一下的现象
●当文件名包含特殊字符,可能难以正常删掉文件,直接删掉inode,也可以删掉文件
●移动或重命名文件时,只改变文件名,不影响inode号码
●打开一个文件后,系统通过inode号码来辨识该文件,不再考虑文件名
因为inode号码与文件名分离,造成Linux系统具备以下几种特有的现象:
1.文件名包含特殊字符,可能难以正常删掉。这时直接删掉inode,还能起到删掉文件的作用;
2.联通文件或重命名文件,只是改变文件名,不影响inode号码;
3.打开一个文件之后,系统就以inode号码来辨识这个文件,不再考虑文件名。
4.文件数据被更改保存后linux修改文件名,会生成一个新的inode号码。
find./-inum52305140-execrm-i{};
find./-inum50464299-delete
链接文件
为文件或目录构建链接文件
链接文件分类
链接文件
为文件或目录构建链接文件
链接文件分类
硬链接
ln源文件目标位置
软链接
ln-s源文件或目录............链接文件或目标位置
案例:恢复EXT类型的文件
编译安装extundelete软件包
●安装依赖包
e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
●配置、编译及安装
●extundelete-0.2.4.tar.bz2
●模拟删掉并执行恢复操作
扩充
inode节点用尽故障处理
#使用fdisk创建分区/dev/sdb1linux服务器日志分析,分区大小30M即可
fdisk/dev/sdb
mkfs.ext3/dev/sdb1
mkdir/test
mount/dev/sdb1/test
df-i
#模拟inode节点用尽故障
for((i=1;ia
echoa>b
echoa>c
echoa>d
ls
extundelete,/dev/sdc1--inode2
案例:恢复XFS类型的文件
xfsdump命令格式
xfsdump-f备份储存位置要备份的路径或设备文件
xfsdump备份级别(默认为0)
●0:完全备份
●1-9:增量备份
xfsdump常用选项:-f、-L、-M、-s
xfsrestore命令格式
xfsrestore-f恢复文件的位置储存恢复后文件的位置
模拟删掉并执行恢复操作
恢复误删掉的文件xFS
xfs类型文件备份和恢复
Centos7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump与jxfsrestore工具进行备份恢复。xfsdump_的备份级别有两种:o表示完全备份;1-9表示增量备份。xfsdump的备份级别默认为0。
xfsdump的命令格式为:
xfsdumpl-f备份储存位置要备份的路径或设备文件
xfsdump命令常用的选项:
-f:指定备份文件目录
-L:指定标签sessionlabel
-M:指定设备标medialabe.::"......
-s:备份单个文件,-s前面不能直接跟路径
xfsdump使用限制:
1.只能备份己挂载的文件系统
2.必使用root的权限能够操作
3.只能备份XFS文件系统
4.备份后的数据只能i让xfsrestore解析
5.不能备份两个具有相同0UID的文件系统(可用blkid命令查看)
#使用fdisk创建分区/dev/sdb1,低格xfs文件系统
fdisk/dev/sdb
partprobe/dev/sdb
mkfs.xfs/dev/sdb1
mkdir/data
mount/dev/sdb1/data/
cd/data
cp/etc/passwd./
mkdirtest
touchtest/a
xfsdump使用限制
只能备份已挂载的文件系统
必须使用root的权限能够操作
只能备份XFS文件系统
备份后的数据只能让xfsrestore解析
不能备份两个具有相同UUID的文件系统
日志文件
日志的功能
用于记录系统、程序运行中发生的各类风波
通过阅读日志,有助于确诊和解决系统故障
日志文件的分类
常见的一些日志文件:
#内核及公共消息日志:
/var/log/messages:
记录Linux内核消息及各类应用程序的公共日志信息,包括启动、Io错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,通常都可以从该日志文件中获得相关的风波记录信息。
#计划任务日志:
/var/1og/cron:记录crond计划任务形成的风波信息。
#系统引导日志:
/var/log/dmesg:记录Linux系统在引导过程中的各类风波信息。
#电邮系统日志∶
/var/log/maillog:记录步入或发出系统的电子电邮活动。
#用户登入日志:
/var/log/secure:记录用户认证相关的安全风波信息。
/var/log/lastlog:记录每位用户近来的登陆风波。二补码格式
/var/1og/wtmp:记录每位用户登入、注销及系统启动和停机风波。二补码格式
/var/run/btmp:记录失败的、错误的登陆尝试及验证风波。二补码格式
vim/etc/rsyslog.conf#查看rsyslog.conf配置文件
*.info#表示info等级及以,上的所有等级的信息都讲到对应的日志文件里
mail.none#表示某风波的信息不讲到日志文件里(这儿例如是短信)
内核及系统日志
内核及系统日志
Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)
0EMERG('紧急)∶会造成主机系统不可用的情况。
1ALERT(警告):必须马上采取举措解决的问题。
2CRIT(严重):比较严重的情况。
3ERR(错误):运行出现错误。
4WARNING(提醒):可能影响系统功能,须要提醒用户的重要风波。
5NOTICE(注意):不会影响正常功能,并且须要注意的风波。
6INFO(信息):通常信息。
7DEBUG(调试)∶程序或系统调试信息等。
公共日志/var/log/messages文件的记录格式