Linux文件管理和xfs文件系统的备份恢复

举报
互联网老辛 发表于 2021/06/09 01:04:47 2021/06/09
【摘要】 1-4-Linux文件管理和xfs文件系统的备份恢复 查看文件内容 题目:查看/etc/passwd文件的第12行内容 1. 输入以下命令 # cat /etc/passwd|head -12 |tail -1 或者# head -12/etc/passwd  |tail -1 命令执行后的结果如下: 注释:cat是显示文件的全部内容,...

1-4-Linux文件管理和xfs文件系统的备份恢复

  • 查看文件内容

题目:查看/etc/passwd文件的第12行内容

  1. 1. 输入以下命令

# cat /etc/passwd|head -12 |tail -1

或者# head -12/etc/passwd  |tail -1

命令执行后的结果如下:

注释:cat是显示文件的全部内容,“|”是管道符作用是将前一个命令的结果做为后一个命令的输入。cat/etc/passwd显示该文件的全部内容,“|head”表示将前面cat执行后的结果交给head命令来处理“-12”是显示前12行 。“|tail”表示将前面显示出的前12行内容交给tail来处理“-1”是显示从尾部开始的第一行内容,上述命令组合在一起就是显示文件的第12行内容。

  1. 2. 验证结果:

输入命令 vim /etc/passwd,用vim打开文件,在命令模式下输入“:set nu”
这样就可以显示文件的行号了。其第12行的内容为“ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin”与之前用命令查看到的内容是一致的。

  • 创建、复制、重命名

题目:创建目录/root/test/a/b/c,并把/etc/passwd文件复制到/root/test/a/b/c目录中,重命名为passwd.bak

  1. 1. 创建目录

# mkdir -p /root/test/a/b/c

查看刚才创建的目录# ls -dl /root/test/a/b/c/

创建多层级目录是从最底层目录开始起创建,创建/root/test/a/b/c目录是在/root/test/a/b目录下去创建c,而/root目录下找不到test/a/b目录,直接创建就要报错找不到目录。
-p, --parents表示为所给出的目录建立丢失了的父目录。“-p”参数就是在创建层级目录时如果找不到上级父目录就给创建,这样就递归创建了层级目录。

  1. 2. 复制文件(把/etc/passwd文件复制到/root/test/a/b/c目录中)。

# cp /etc/passwd /root/test/a/b/c/

查看已经复制的文件

# ls -l !$       

“!$”表示上一个命令的最后一个参数,执行的上一个命令是“cp /etc/passwd/root/test/a/b/c/”其最后一个参数是“/root/test/a/b/c/”所以“ls -l !$”就是查看/root/test/a/b/c/下的内容。

  1. 3. 重命名文件

# cd /root/test/a/b/c/           进入目录

# mv passwd passwd.bak            重命名文件

或# mv passwd{,.bak}              重命名文件

# ls –l                          查看文件


  • xfs文件系统备份恢复

题目:创建新的分区,并准备测试的文件和目录,通过xfsdump对分区下的内容进行备份恢复

  1. 1.  实验环境准备

(1) 给虚拟机添加一块硬盘
大小为5GB。如下图所示
点击save保存。然后给虚拟机加电开机。

(2) 分区格式化硬盘

# ls -l /dev/sdb*
或#lsblk
在系统中可以看到已经成功添加了一块5GB大小的硬盘。

# fdisk /dev/sdb

创建一个主分区,大小为全部硬盘空间。
创建成功sdb1分区。
# mkfs.xfs /dev/sdb1

格式化分区

(3) 挂载分区

# mkdir /root/sdb1     在root下创建sdb1目录

# mount/dev/sdb1  /root/sdb1    将刚才创建的分区挂载到/root/sdb1

df查看已经成功挂载。

(4) 准备实验数据

复制一些测试数据到/root/sdb1目录,如下所示

  1. 2.  备份分区

(1) 交互式备份

#xfsdump -f/opt/dump_sdb1 /root/sdb1

-f表示备份文件保存的位置,即将/root/sdb1分区备份到/opt下面名称为dump_sdb1。

输入命令执行执行,跳出如下界面,要求输入dump会话标签,这个标签名称随意写,就是一个标识。
输入dump会话标签后回车,跳出如下界面,要求输入设备标签。同上设备标签也是随意写的一个标识。
提示备份成功。
# ls -l /opt/      查看opt目录,新生成了一个dump_sdb1文件,即刚才备份的文件。
# xfsdump –I             查看备份信息

如下如所示,显示dump 会话标签和设备标签。
(2) 非交互式备份

# xfsdump -f/opt/dump_sdb1_fei  /root/sdb1 -Ldump_fei -M media_fei

-L是指定dump备份的会话标签。-M是指定dump备份的设备标签。由于这里已经在命令中指定了,所以在执行的过程中不需要输入任何标签了,所以就达到非交互的目的了。这里结合定时任务就可以做全自动备份了。

查看备份信息。

查看备份文件,交互式和非交互式生成的备份文件大小完全一致。

(3) 单个文件备份

# xfsdump -f/opt/dump_passwd /root/sdb1 -s passwd  -Ldump_passwd -M media_passwd

查看备份信息

查看备份文件

(4) 多文件备份

# xfsdump -f/opt/dump_aa /root/sdb1 -s media.repo release hello  -L dump_aa -M media_aa

生成备份文件。

  1. 3.  恢复分区

(1) 单个文件恢复

将/root/sdb1/passwd文件删除

# xfsrestore -f/opt/dump_passwd /root/sdb1 -s passwd

恢复文件的时候就是根据之前备份的时候的会话标签和设备标签来做的。

查看恢复之后的文件,有内容显示。说明恢复成功。

(2) 多个文件恢复

将/root/sdb1下面的多个文件删除

# xfsrestore -f/opt/dump_aa  /root/sdb1  -s media.repo hello release

查看恢复文件

多文件备份之前是提示备份成功,多文件恢复好像有问题,只恢复出来一个文件,不知道是不是不支持多文件备份。需要查证有没有办法来看备份文件的内容的工具。

(3) 整个分区恢复

删除/root/sdb1下的多有内容
# xfsrestore -f/opt/dump_sdb1 /root/sdb1/

恢复成功,查看恢复文件。

已经全部恢复出来。

  • 总结

xfsdump备份和xfsrestore恢复是基于xfs文件系统格式的,所以只能对xfs文件系统进行备份恢复。

在做xfsdump备份的时候一定要细心“xfsdump -f /opt/dump_sdb1_fei  /root/sdb1 -L dump_fei -M media_fei”目标分区/root/sdb1的后面不能有“/”,老师讲课的时候一直在强调。在写命令的时候喜欢用tab键补齐,如果不注意的话这地方用了tab键之后会自动补一个“/”所以就要出错。

 报错信息如下,意思就是/root/sdb1/是不能识别的文件系统。

根据字面意思可能会认为是分区有问题,不管怎么找都找不到问题,这问题不好解决,所以一定要细心。

                                                            作者:ssail

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/103259495

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。