目录
可以理解成一种软件,可以处理文件,文件系统定义了一些基本的信息,对日志进行分析,运维工程师和日志打交道,看报错信息
一,inode与block
每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data)
元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。
文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区512个字节,文件存储的最小单位为8个扇区组成为4k,每一个分区都有自己的分区节点编号
目录是一个特殊文件,目录是一个特殊文件,目录文件的类容保存了此目录中文件的列表及inode number对应关系
文件引用一个是inode号
是通过文件名来引用一个文件
一个目录是目录下的文件名和文件inode号之间的映射
cp和inode
cp 命令:
分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件
rm 命令:
硬链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
mv和inode
如果mv命令的目标和源在同一设备,
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
删除旧的目录对应关系新建目录对应关系
三种时间戳
Linux系统文件三个主要的时间属性
ctime(change time) #最后一次改变文件或目录(属性)的时间
atime(access time) #最后一次访问文件或目录的时间
mtime(modify time) #最后一次修改文件或目录(内容)的时间
二,通常情况下,不需要关注单个的inode的大小,而是需要关注inode总数,如果inode号分配完后,就无法再创建文件。
二,软硬连接
硬连接:同一个文件取不同的名字或者多个名字,这个连接不支持文件夹,创建一个连接数加一,删除一个连接数就减一,可以有多路径访问。
软连接:类似于winodws里快捷方式,软连接,符号连接
ln(link)
ln[-s] 源文件或目录...连接文件或目标位置
加s是软连接 符号连接
对比 | 硬链接 | 软链接 |
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的连接连接数就加一,删除就是减一 | 删除新建不会改变属性 |
文件夹 | 不支持 | 支持 |
删除源文件 | 删除的只是连接不影响任何 | 删除后无法打开 |
文件类型 | 和源文件相同 | 和源文件不同 |
路径大小 | 和源文件相同 | 到达源文件的路径大小 |
操作如下:
[root@localhost ~]# ll -d //opt
drwxr-xr-x. 3 root root 16 9月 2 16:39 //opt
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
rh
[root@localhost opt]# mkdir a
[root@localhost opt]# ll -d
drwxr-xr-x. 4 root root 25 9月 24 14:13 .
三,文件恢复extundelete
删除一个文件实际上并不会清楚inode节点和block的数据,只是在这文件的父目录里的block中,删除这个文件的名字,实际上并不会删除掉。
在Linux运维工作中,会遇到误删,操作错误的情况。彻底删除后,可以通过EXT文件系统,可用的恢复工具有debugfs,ext3grep,extundelete等,其中extundelete是一个开源的数据恢复工具,支持ext3的格式。
1.使用extundelete工具如何恢复误删除的文件
在编译安装extundelete之前需要先安装两个依赖包 e2fsprogs-libs 和 e2fsprogs-devel,这两个
安装包在系统安装光盘的/package目录下就有,使用rpm或yum命令将其安装。e2fsprogs-devel 安装依赖于 libcom_err-devel 包。
安装yum
可以看到被删除的文件后面又delete,,需要使用恢复对删除的文件进行恢复
被删除的ab被找回。
四,xfs类型文件备份和恢复
centos7中系统默认采用xfs类型的文件。针对xfs文件系统目前没有比较成熟的恢复工具,只能做好备份!!!!
xfs文件可使用xfsdump和xfsestore工具进行备份恢复。
若系统中未安装工具,可以通过网络源进行安装。
xfsdump 按照inode 顺序备份一个 xfs 文件系统。xfsdump 的备份级别有两种:
0 表示完全备份
1-9 表示增量 备份
xfsdump 的备份默认级别为0
xfsdump的命令格式为:xfsdump -f 备份存放位置 要备份路径或设备文件。
常用的备份参数包括一下几种:
-f:指定备份文件类容
-L:指定标签session label
-M:指定设备标签medial label
-s:备份单个文件,-s 后面不能直接跟路径
使用xfs的限制:不支持没有挂载的文件系统备份,所以只能备份已挂载的。必须使用 root 的权限才能操作。只能备份 XFS 文件系统。备份下来的数据只能让 xfsrestore 解析。不能备份两个具有相同 UUID 的文件系统(可使用blkid查看)。
使用网络源进行xfsdump的安装,完成后
模拟数据丢失并使用xfsjump命令恢复分区:
由于上面已经打过标记,下方不会弹出打标记的操作,在这就不详细演示。
五,日志
内核及系统日志由系统服务rsyslog统一管理,根据其主配置文件 /etc/rsyslog.conf
Linux操作系统本身和大部分服务器程序的日志文件都存放在/var/log下
5.1常见的一些日志文件:
内核及公共消息日志 | ./var/log/messages |
计划任务日志 | ./var/log/cron |
系统引导日志 | ./var/log/dmesg |
邮件系统日志 | . /var/log/maillog |
用户登录日志 | ./var/log/lastlog ./var/log/secure ./var/log/wtmp ./var/run/btmp |
日志文件的格式:
日志文件的格式包含以下4列:
事件产生的时间,产生事件的服务器的主机名,产生事件的服务名或程序名,事件的具体信息。
5.2内核和公共日志
日志的配置文件位于/etc/rsyslog.conf
信息的优先级别重要程度
在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)。
0 EMERG(紧急):会导致主机系统不可用的情况。
1 ALERT(警告):必须马上采取措施解决的问题。
2 CRIT(严重):比较严重的情况。
3 ERR(错误):运行出现错误。
4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
7 DEBUG(调试):程序或系统调试信息等
内核和公共消息日志存储位置
一条信息包括下面四个字段:时间标签消息发出的日期和时间,主机名生成消息的计算机的名称,子系统名称发出消息的应用程序的名称,消息的具体内容。
用户日志
users
users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数
who
who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可
以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用
户名、终端类型、登录日期及远程主机
w
w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的 输出内容要丰富一些。
查询用户登陆的历史记录
last
last 命令用于查询成功登录到系统的用户记录,
最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。
lastb
lastb 命令用于查询登录失败的用户记录,
如登录的用户名错误、密码不正确等情况都 将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。
六,总结
学习了如何备份恢复,不是所有都可以恢复,实际生产中还是需要自己备份为主。