目录
扩展:cpio 命令
1.inode概述
文件是存储在硬盘上的,硬盘的最小存储单位叫做”扇区”(sector), 每个扇区存储512字节。
inode不包含文件名。文件名是存放在目录当中的。 Linux 系统中一切皆文件,因此目录也是一种文件。每个inode都有一个号码,操作系统用inode号码来识别不同的文件。 Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于 识别的别称,文件名和inode号码是一一对应关系,每个inode 号码对应一个文件名。文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块”中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。
所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访 问这个文件的权限;如果有,就指向相对应的数据block, 并读取数据。
2. inode内容
(1)inode包含文件的元信息
文件的字节数、文件拥有者的User ID、文件的Group ID、文件的读、写、执行权限、文件的时间戳....不包含文件名。
(2)inode的大小
inode也会消耗硬盘空间,每个inode的大小一般是128字节或256字节。格式化文件系统时确定inode的总数,使用df-i命今可以查看每个硬盘分区的inode总数和已经使用的数量。
(3)inode的特殊作用
由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象:
当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件。移动或重命名文件时,只改变文件名,不影响inode号码。打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名。inode号码用完后,即使还有内存,文件会无法写入。
3.查看inode号码
ls -i aa.txt #查看文件名对应的inode号码
stat aa.txt #查看文件inode信息中的inode号码
4.block概述
一般连续八个扇区组成一个"块" (block), 一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块”中,因此, 一个文件必须占用一个 inode, 并且至少占用一个 block。
4.链接文件
ln 源文件 目标位置 #创建硬链接
ls -s 源文件或目录... 链接文件或目录位置 #创建软链接
二:日志文件
1.日志的功能
日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。
2.日志文件的分类
(1) 内核及系统日志
由系统服务rsyslog统一进行管理,日志格式基本相似
主配置文件/etc/rsyslog.conf
(2)用户日志
记录系统用户登录及退出系统的相关信息
(3)程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
3.主要日志文件的介绍
日志文件默认位置:/var/log目录下
/var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务, 一般都可以从该日志文件中获得相关的事 件记录信息。
/var/log/cron: 记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
/var/log/maillog: 记录进入或发出系统的电子邮件活动。
/var/log/lastlog: 记录每个用户最近的登录事件。
/var/log/rpmpkgs: 记录系统中安装的各rpm包列表信息。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/run/btmp: 记录失败的、错误的登录尝试及验证事件。
4.日志消息的级别
内 核 日 志 消 息 的 优 先 级 别 ( 数 字 等 级 越 小 , 优 先 级 越 高 , 消 息 越 重 要 ) :
0 EMERG ( 紧 急 ) : 会 导 致 主 机 系 统 不 可 用 的 情 况 。 如 系 统 崩 溃
1 ALERT ( 警 告 ) : 必 须 马 上 采 取 措 施 解 决 的 问 题 。 如 数 据 库 被 破 坏
2 CRIT ( 严 重 ) : 比 较 严 重 的 情 况 。 如 硬 盘 错 误 , 可 能 会 阻 碍 程 序 的 部 分 功 能
3 ERR ( 错 误 ) : 运 行 出 现 错 误 。 不 是 非 常 紧 急 , 尽 快 修 复 的
4 WARNING( 提 醒 ): 可 能 影 响 系 统 功 能 , 需 要 提 醒 用 户 的 重 要 事 件 。 不 是 错 误 , 如 磁 盘 用 了 8 5 % 等
5 NOTICE ( 注 意 ) : 不 会 影 响 正 常 功 能 , 但 是 需 要 注 意 的 事 件 。 无 需 处 理
6 INFO ( 信 息 ) : 一 般 信 息 。 正 常 的 系 统 信 息
7 DEBUG ( 调 试 ) : 程 序 或 系 统 调 试 信 息 等 。 包 含 详 细 开 发 的 信 息 , 调 试 程 序 时 使 用
none: 没 有 优 先 级 , 不 记 录 任 何 日 志 消 息 。
举例
mail.info /var/log/maillog :比指定级别更高的日志级别,包括指定级别自身,保存/var/log/maillog
mail.=info /var/log/maillog : 明确指定日志级别为info,保存至/var/log/maillog
mail.!info /var/log/maillog: 除了指定的日志级别(info) 所有日志级别信息,保存至/var/log/maillog
*.info /var/log/maillog :所有facility的info级别,保存至/var/log/maillog
mail.* /var/log/maillog :mail的所有日志级别信息,都保存至/var/log/maillog
mail.notice;news.info /var/log/maillog :mail的notice以上记得日志级别和news的info以上的级别保存至/var/log/maillog
mail,news.crit -/var/log/mailiog :mail和news的crit以上的日志级别保存/var/log/maillo中,“ - ”代表异步模式
5.设备字段说明
auth | 用户认证时产生的日志 | |
authpriv | ssh、ftp等登录信息的验证信息 | |
daemon | 一 些守护进程产生的日志 | |
ftp | FTP产生的日志 | |
lpr | 打印相关活动 | |
mark | rsyslog服务内部的信息,时间标识 | |
news | 网络新闻传输协议(nntp)产生的消息。 | |
syslog | 系统日志 | |
uucp | Unix-to-Unix Copy两个unix之间的相关通信 | |
console | 针对系统控制台的消息。 | |
系统执行定时任务产生的日志。 | ||
cron | ||
kern | 系统内核日志 | |
local0~local7 | 自定义程序使用 | |
邮件日志 | ||
user | 用户进程 |
6.日志记录的一般格式
7.用户日志分析
/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式
/var/log/secure: 记录用户认证相关的安全事件信息。
/var/log/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式
在wtmp、btp、 lastlog等日志文件中 ,保存了系统用户登录、 退出等相关的事件消息。 但是这些文件都是二进制的数据文件,不能直接使用tail、less等文本查看工具进行浏览,需要使用who、w、users、w、 last和lastb等用户查询命令来获取日志信息
(1)last命令用于查询成功登录到系统的用户记录
(2)lastb命令用于查询登录失败的用户记录
8.程序日志分析
Web服务:/var/log/httpd/
access_log ——记录客户访问事件
error_log ——记录错误事件
代理服务:/var/log/squid/
access.log、cache.log
分析工具
文本查看、grep过来检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
三:误删文件恢复案例
1.恢复XFS类型文件
Centos 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复。
xfsdump的备份级别有两种:
0表示完全备份;
1-9表示增量备份。
xfsdump的备份级别默认为0。
xfsdump格式:
xfsdump -f 备份存放位置 要备份的路径或设备文件
xfsdump常用选项:
选项 | 功能 |
---|---|
f | 指定备份文件目录 |
-L | 指定标签session label |
-M | 指定设备标签media label |
-S | 备份单个文件,-s后面不能直接跟路径 |
-
xfsdump使用限制
-
只能备份已挂载的文件系统
-
必须使用root的权限才能操作
-
只能备份XFS文件系统
-
备份后的数据只能让xfsrestore解析
-
不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
1.1.创建磁盘分区并格式化挂载
1. 2.在挂载的目录下创建文件或目录
1.3. 安装xfsdump,指定备份的目录和需要备份的磁盘
1. 4.删除文件,做恢复测试
2.恢复EXT类型文件
依赖包安装
e2fsprogs-libs-1.41.12- 18. el6.x86_ 64.rpm
e2fsprogs-devel-1 41.12-18.el6.x86_ 64.rpm
2.1.创建分区,将分区格式化为ext3,挂载目录
2. 2.安装依赖包,在官网下载ex工具
yum -y install e2fsprogs-devel e2fsprogs-libs
cd /test
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
2. 3.解压压缩包,编译安装
./configure --prefix=/usr/local/extundelete && make && make install
ln -s /usr/local/extundelete/bin/* /usr/bin/
2. 4.删除文件
extundelete /dev/sdb1 --inode 2
//查看文件系统/dev/sdb1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。
2.5.恢复数据,数据恢复完成
扩展:cpio 命令
cpio 命令可以看做是备份或还原命令,因为它可以将数据(文件)备份到 cpio 归档库,也可以利用 cpio 文档库对数据进行恢复。
使用 cpio 命令备份或恢复数据,需注意以下几点:
- 使用 cpio 备份数据时如果使用的是绝对路径,那么还原数据时会自动恢复到绝对路径下;同理,如果备份数据使用的是相对路径,那么数据会还原到相对路径下。
- cpio 命令无法自行指定备份(或还原)的文件,需要目标文件(或目录)的完整路径才能成功读取,因此此命令常与 find 命令配合使用。
- cpio 命令恢复数据时不会自动覆盖同名文件,也不会创建目录(直接解压到当前文件夹)。
[root@localhost ~]# cpio -o[vcB] > [文件丨设备] #把数据备份到文件库中 各选项含义如下: -o:copy-out模式,备份; -v:显示备份过程; -c:使用较新的portable format存储方式; -B:设定输入/输出块为 5120Bytes,而不是模式的 512Bytes; [root@localhost ~]# cpio -i[vcdu] < [文件|设备] #把数据从文件库中恢复 各选项的含义为: -i:copy-in 模式,还原; -v:显示还原过程; -c:较新的 portable format 存储方式; -d:还原时自动新建目录; -u:自动使用较新的文件覆盖较旧的文件;