Linux系统目录结构和相对/绝对路径
系统目录结构
在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录
在WIN中,它是多根 c:\ d:\ e:
Linux只有一个根目录
查看根下有哪些文件:
根下的目录作用说明:
/ 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录、文件、设备都在 / 之下/bin bin是Binary的缩写。常用的二进制命令目录。比如 ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gnu工具/boot存放的系统启动相关的文件,例如:kernel.grub(引导装载程序)/dev dev是Device的缩写。设备文件目录,比如声卡、磁盘……在Linux中一切都被看做文件。终端设备、磁盘等等都被看做文件 设备文件: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/cdrom/etc 常用系统及二进制安装包配置文件默认路径和服务器启动命令目录 passwd 用户信息文件shadow 用户密码文件group 存储用户组信息fstab 系统开机启动自动挂载分区列表hosts 设定用户自己的IP与主机名对应的信息fstab 系统开机启动自动挂载分区列表hosts 设定用户自己的IP与主机名对应的信息/home普通用户的家目录默认存放目录 /lib库文件存放目录,函数库目录/lost+found只在centos6中有 默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件) 当系统非法关机后,这里就会存放一些文件。在centos6版本下,每个分区的挂载点下会有些目录/mnt/media 一般用来临时挂载存储设备的挂载目录,比如有cdrom、U盘等目录在CENTOS7中会挂载到/run下面/opt 表示的是可选择的意思,有些软件包也会被安装在这里 /proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里 查看咱们的CPU信息 cat /proc/cpuinfo/sys系统目录,存放硬件信息的相关文件/run运行目录,存放的是系统运行时的数据,比如进程的PID文件/srv服务目录,存放的是我们本地服务的相关文件/sbin大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的 /tmp该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的,不能存放重要数据,它的权限比较特殊 [root@localhos~]# ls –ld /tmpdrwxrwxrwt 10 root root 12288 Oct 3 20:45 /tmp/ 粘滞位(sticky bit)目录的sticky位表示这个目录里的文件只能被owner和root删除/var系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如/var下有/var/log目录用来存放系统日志的目录,还有mail、/var/spool/cron /usr存放应用程序和文件,/usr/bin 普通用户使用的应用程序/usr/sbin 管理员使用的应用程序/usr/lib 库文件Glibc(32位)/usr/lib64 库文件Glibc/lib/lib64都在/usr/目录下这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库注:lib***.a是静态库lib***.so是动态库静态库在编译时被加载到二进制文件中动态库在运行时加载到进程的内存空间中简单的说:这些库是为了让你的程序能够正常编译运行的其实类似于WIN中.dll文件,几乎所有的应用程序都需要用到这些共享库
绝对路径和相对路径
路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径
绝对路径:在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一个路径是从根(/)开始的,它一定是绝对路径.
相对路径:相对路径是以 . 或 … 开始的,
[root@localhost ~]# pwd #判断用户当前所处的位置
绝对路径: 从/开始的路径 /home/alon
相对路径: 相对于当前目录开始,a.txt ./a.txt …/miao/b.txt 当前目录在/etc
文件的管理
文件管理方式有多种:
改变目录: cd
创建/修改/移动/删除: touch mkdir mv vi rm cp
创建文件和文件夹
命令之:touch
作用:常用来创建空文件,如果文件存在,则修改这个文件的时间
补充:文件的三种时间
[root@localhost ~]#ll /etc/passwd
#查看文件修改的时间
-rw-r–r--. 1 root root 885 9月 20 17:33 /etc/passwd
[root@localhost ~]#stat /etc/passwd
#查看文件属性(其中包括文件时间属性)
文件:"/etc/passwd"
大小:885 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:16777643 硬链接:1
权限:(0644/-rw-r–r--) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:passwd_file_t:s0
最近访问:-09-22 11:18:11.960214311 +0800
最近更改:-09-20 17:33:44.507737930 +0800
最近改动:-09-20 17:33:44.507737930 +0800
创建时间:-
注
访问时间:atime 查看内容 cat a.txt
修改时间:mtime 修改内容 vim a.txt
改变时间:ctime 文件属性,比如权限 change time。 chmod +x a.sh
语法:touch 文件名
[root@localhost ~]#touch a.txt
[root@localhost ~]#touch file1 file2
[root@localhost ~]#ll
总用量 12
-rw-------. 1 root root 1213 9月 17 23:36 anaconda-ks.cfg
-rw-r–r--. 1 root root 321 9月 18 21:23 A.py
-rw-r–r--. 1 root root 0 9月 22 14:48 a.txt
-rw-r–r--. 1 root root 0 9月 22 14:49 file1
-rw-r–r--. 1 root root 0 9月 22 14:49 file2
-rw-r–r--. 1 root root 1 9月 20 20:31 jiujiu.sh
[root@localhost ~]#touch file{2..20}
#创建file2到file20的文件
[root@localhost ~]#touch -d "1019 21:30" a.txt
[root@localhost ~]#ll a.txt
-rw-r–r--. 1 root root 0 10月 19 a.txt
使用vim和重定向创建一个新文件
用vim命令创建一个新文件
[root@localhost ~]# vim a1.txt
用重定向创建一新文件
[root@localhost ~]# echo 1111 > a2.txt
命令之:mkdir
作用:创建目录
语法:mkdir (选项) 文件名
例:
[root@localhost ~]#mkdir a
[root@localhost ~]#mkdir -p a/b/c/d/e/f
#在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数-p
[root@localhost ~]# ls a
b
删除文件和目录
用到的命令:rm
作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,只是删除整个链接文件,而原文件保持不变的
语法:rm (选项) 处理对象
选项:
-f 强制删除,没有提示
-r 删除目录
[root@localhost ~]# rm -rf a.txt
rm -rf (慎用,一定要在删除以前确定一下所在目录,防止误删除重要数据)
复制文件
命令:cp 源文件/目录 目录文件/目录
选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理
[root@localhost ~]#cp /etc/passwd a1.txt
#复制文件
[root@localhost ~]#cp -r /boot/grub a
#复制目录
移动文件
[root@localhost ~]#mv a1.txt a
[root@localhost ~]#mv a/a1.txt a2.txt
#在移动文件的时候支持改名操作
查看文件
命令之:cat
语法:cat 文件名
作用:查看文件内容,一次显示整个文件的内容
[root@localhost ~]#cat a1.txt
命令之:more
作用:以分页形式显示文件内容
语法:more + 文件名
说明: 按下回车刷新一行,按下空格刷新一屏,输入q键退出
命令之:less
作用:和more功能一样
语法:less +文件名
说明:linux中more与less的区别
more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便
less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。,空格键是向下翻页,Enter键是向下翻一行
命令之:head
作用: 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
语法:head(选项)文件名
参数: -n 显示从文件头开始的行数
[root@localhost ~]#head /etc/passwd
#前10行
[root@localhost ~]#head -n 3 /etc/passwd
前3行
命令之:tail
作用: 用于显示文件中的尾部内容。默认在屏幕上显示指定文件的末尾10行
语法:tail (选项)文件名
参数:
-n 显示文件尾部多少行的内容(n为数字)
-f 动态显示数据(不关闭),常用来查看日志
[root@localhost ~]#tail -n 3 /var/log/secure
#查看最后3行记录
[root@localhost ~]#tail -f /var/log/secure
#在一个终端执行此命令动态查看文件内容
[root@localhost ~]#tail -f /var/log/secure
#可以动态查看到登录成功的日志
实战:xfs文件系统的备份和恢复
XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump 按inode顺序备份一个XFS文件系统。
centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。
与传统的UNIX文件系统不同,XFS不需要在备份前被卸载;对使用中的XFS文件系统做备份就可以保证镜像的一致性。XFS的备份和恢复的过程是可以被中断然后继续的,无须冻结文件系统。xfsdump 甚至提供了高性能的多线程备份操作——它把一次dump拆分成多个数据流,每个数据流可以被发往不同的目的地
首先了解一下xfsdump的备份级别有以下两种,默认为0(即完全备份)
0 级别代表: 完全备份
1 到9级别代表: 增量备份
扩展:
完全备份:每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;
增量备份:每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;
差异备份:每次都将第一次完整备份以来有变化的文件进行备份。
添加一块新的磁盘
对新的磁盘进行格式化
[root@localhost ~]#lsblk
#查看磁盘
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk #这块是新增加的磁盘,还没有进行分区和格式化
sr0 11:0 1 918M 0 rom
[root@localhost ~]#fdisk /dev/sdb
#分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x27b4fccc 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
#创建新分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):p
#主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):#开始值,直接回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):#分区大小,指定大小,也可以用全部
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
#保存,退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#ls /dev/sdb*
#查看,会发现多出来一个分区
/dev/sdb /dev/sdb1
使用新的分区,格式化分区,并进行挂载
[root@localhost ~]#mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]#mount /dev/sdb1 /opt/
#将磁盘挂载到/opt下
[root@localhost ~]#df -h
#查看磁盘容量
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 1.1G 16G 7% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 20G 33M 20G 1% /opt
[root@localhost ~]#vim /etc/fstab
#配置开机自动挂载
[root@localhost ~]#mount -a
#配置完,用命令检测,配置是否正确,这一步很重要,一旦配置错误,服务器将无法开机
[root@localhost ~]#cat /etc/fstab
#/etc/fstab
#Created by anaconda on Tue Sep 17 23:33:03
#Accessible filesystems, by reference, are maintained under ‘/dev/disk’
#See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/centos-root / xfs defaults 0 0
UUID=1cb8c73d-c385-444a-9df7-1fb9bc150f27 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /opt xfs defaults 0 0
备份
1、备份整个分区。 (这个功能就像是虚拟机的快照,服务器被黑后,进行快速恢复)
xfsdump -f 备份存放位置 要备份路径或设备文件
注意:备份的路径这里不能写成/sdb1/。 可以是/dev/sdb1 或/sdb1
[root@localhost opt]#yum -y install xfsdump
#安装备份工具
[root@localhost opt]#xfsdump -f /mnt/sdb1 /dev/sdb1
#将/dev/sdb1备份到/mnt/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
->sdb1
指定备份的会话标签
session label entered: “sdb1”
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of localhost.localdomain:/opt
xfsdump: dump date: Sun Sep 22 15:54:43
xfsdump: session id: c119f5c1-5a75-4746-8591-729d564c43ab
xfsdump: session label: “sdb1”
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 30400 bytes
xfsdump: /var/lib/xfsdump/inventory created
============================= media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> sdb1
media label entered:"sdb1"
#指定设备标签,就是要对备份的设备做一个描述
--------------------------------- end dialog ---------------------------------
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 40240 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 32 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /mnt/sdb1 OK (success)
xfsdump: Dump Status: SUCCESS
[root@localhost opt]#xfsdump -I
#查看备份信息与内容
file system 0:
fs id: c908bf0b-c4e5-4fa0-8d3d-0182087c3fae
session 0:
mount point: localhost.localdomain:/opt
device: localhost.localdomain:/dev/sdb1
time: Sun Sep 22 15:54:43
session label: “sdb1”
session id: c119f5c1-5a75-4746-8591-729d564c43ab
level: 0
resumed: NO
subtree: NO
streams: 1
stream 0:
pathname: /mnt/sdb1
start: ino 74 offset 0
end: ino 33574984 offset 0
interrupted: NO
media files: 1
media file 0:
mfile index: 0
mfile type: data
mfile size: 40240
mfile start: ino 74 offset 0
mfile end: ino 33574984 offset 0
media label: “sdb1”
media id: 97f344c9-c99b-4f20-8312-b087db9ab186
xfsdump: Dump Status:SUCCESS
#备份成功
[root@localhost opt]#rm -rf ./*
#删除分区的所有数据
[root@localhost opt]#ll
#查看
语法:xfsrestore -f 指定恢复文件的位置 指定存放恢复后的文件的路径
[root@localhost opt]#xfsrestore -f /mnt/sdb1 /opt/
#还原数据
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: localhost.localdomain
xfsrestore: mount point: /opt
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Sun Sep 22 15:54:43
xfsrestore: level: 0
xfsrestore: session label: “sdb1”
xfsrestore: media label: “sdb1”
xfsrestore: file system id: c908bf0b-c4e5-4fa0-8d3d-0182087c3fae
xfsrestore: session id: c119f5c1-5a75-4746-8591-729d564c43ab
xfsrestore: media id: 97f344c9-c99b-4f20-8312-b087db9ab186
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 28 directories and 30 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore: stream 0 /mnt/sdb1 OK (success)
xfsrestore: Restore Status:SUCCESS
#还原成功
[root@localhost opt]#ls /opt/
343 a.tat C E G I K M O Q S U W Y
A B D F H J L N P R T V X Z
2、 指定备份时免交互操作,方便后期做定时备份
[root@localhost opt]#xfsdump -f /mnt/passwd_bacp -L passwd_bacp -M mm /dev/sdb1
注:: xfsdump [-L S_label] [-M M_label] [-l #] [-f 备份文件] 待备份数据
-L :xfsdump 会纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
-l :是 L 的小写,就是指定等级~有 0~9 共 10 个等级喔! (默认为 0,即完整备份)
-f :有点类似 tar 啦!后面接产生的文件,亦可接例如 /dev/st0 设备文件名或其他一般文件文件名等
-I :从 /var/lib/xfsdump/inventory 列出目前备份的信息状态
指定只备份分区中某个目录
参数:-s 文件路径 只对指定的文件进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)
暂时还没搞懂
使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
增量备份
概念
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,以此类推。
优缺点
优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。
缺点:数据恢复相对比较麻烦,它需要上一次全备份和所有增量备份的内容才能够完全恢复成功,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此可能会延长的恢复时间
增量备份文件系统
准备一个备份目录进行备份
[root@localhost opt]#tree /opt/
/opt/
├── 343
│ └── yy.txt
└── a.tat
1 directory, 2 files
对上面的内容进行第一次全备
[root@localhost opt]#xfsdump -f /mnt/full -L full -M mdeia0 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of localhost.localdomain:/opt
xfsdump: dump date: Sun Sep 22 17:05:10
xfsdump: session id: a9380704-b023-4826-891b-84713afa849f
xfsdump: session label: “full”
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 21760 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 22960 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /mnt/full OK (success)
xfsdump: Dump Status: SUCCESS
增加一些内容,然后进行第1次增量备份
[root@localhost opt]#touch /opt/343/666.txt
[root@localhost opt]#touch /opt/343/dfdf.txt
[root@localhost opt]#tree /opt/
/opt/
├── 343
│ ├── 666.txt
│ ├── dfdf.txt
│ └── yy.txt
└── a.tat
1 directory, 4 files
[root@localhost opt]#xfsdump -l 1 -f /mnt/test_back1 -L test_back1 -M media0 /dev/sdb1
-l 做一个等级为1的备份
再次增加内容,然后进行level 2级别的增量备
[root@localhost opt]# mkdir lk
[root@localhost opt]# touch lk/tt.txt
[root@localhost opt]# tree /opt/
/opt/
├── 343
│ ├── 666.txt
│ ├── dfdf.txt
│ └── yy.txt
├── a.tat
└── lk
└── tt.txt
2 directories, 5 files
[root@localhost opt]#xfsdump -l 2 -f /mnt/test_back2 -L test_back2 -M media0 /dev/sdb1
[root@localhost opt]#rm -rf /opt/*
#删除所有数据
现在进行恢复,要想恢复全部全部数据,包括新添加的文件,如何恢复?
步骤:
1、先恢复完全备份
2、情况1: 恢复最后一次增量备份(如果两次增量备份都是1级的,所以只需要恢复最后一个增量就可以了。
3、情况2:如果你做的是第一次是1级备,第二次是2级备,那么你在恢复的时候就需要先恢复完全备份,然后是1级备,最后是2级备)
[root@localhost 343]#xfsrestore -f /mnt/full /opt/
[root@localhost 343]#xfsrestore -f /mnt/test_back2 /opt/
#故意先恢复back2,查看,少了两个文件
/opt/
├── 343
│ ├── 666.txt
│
├── a.tat
└── lk
└── tt.txt
[root@localhost 343]#xfsrestore -f /mnt/test_back1 /opt/
#继续恢复第一个备份
[root@localhost 343]#tree /opt/
/opt/
├── 343
│ ├── 666.txt
│ ├── dfdf.txt
│ └── yy.txt
├── a.tat
└── lk
└── tt.txt
2 directories, 5 files
到此,数据恢复成功。。