Linux文件、目录及文件系统的备份与恢复相关命令

一、Linux系统常见的压缩指令

Linux系统中常见的压缩文件格式:

  • .z compress程序压缩的文件;
  • .zip zip程序压缩的文件;
  • .gz gzip程序压缩的文件;
  • .bz2 bzip2程序压缩的文件;
  • .xz xz程序压缩的文件;
  • .tar tar程序打包的数据,并没有压缩;
  • .tar.gz tar程序打包的数据,并且经过gzip的压缩;
  • .tar.bz2 tar程序打包的数据,并且经过bzip2的压缩;
  • .tar.xz tar程序打包的数据,并且经过xz的压缩;

1、gzip命令:

常用选项:

  • -c:将压缩的数据输出到屏幕上,可通过数据流量重导向来处理;
  • -d:解压缩的参数;
  • -t:可以用来检验一个压缩文件的一致性~看看文件有无错误;
  • -v:可以显示出原文件/压缩文件的压缩比等信息;
  • -#:#为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6。

举例说明:
(1)压缩:

[[email protected] ~]# cp /etc/passwd /mnt     #将文件复制一份出来
[[email protected] ~]# gzip -v /mnt/passwd     #进行压缩
/mnt/passwd:     61.1% -- replaced with /mnt/passwd.gz
[[email protected] ~]# ll /etc/passwd /mnt/passwd*    #对比这个文件压缩前和压缩后的大小
-rw-r--r--. 1 root root 2311 7月  14 19:02 /etc/passwd
-rw-r--r--. 1 root root  923 8月  20 22:34 /mnt/passwd.gz

(2)查看压缩文件的内容:

[[email protected] ~]# zcat /mnt/passwd.gz 

(3)将压缩的文件解压:

[[email protected] ~]# gzip -d /mnt/passwd.gz
[[email protected] ~]# ls /mnt
passwd

2、bzip命令:

常用选项:

  • -c:将压缩的过程产生的数据输出到屏幕上的;
  • -d:解压缩的参数;
  • -k:保留原始文件,而不会删除原始的文件;
  • -z:压缩的参数(默认值,可以不加)。
  • -v:可以显示出原文件/压缩文件的压缩比等信息;
  • -#:#为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6。

举例说明:
(1)压缩

[[email protected] ~]# bzip2 -v /mnt/passwd   #压缩
[[email protected] ~]# ls /mnt   #查看压缩后的文件
passwd.bz2

(2)查看压缩文件的内容:

[[email protected] ~]# bzcat /mnt/passwd.bz2  #将文件信息输出在屏幕上

(3)解压

[[email protected] ~]# bzip2 -d /mnt/passwd.bz2    #解压
[[email protected] ~]# ls /mnt   #查看
passwd

3、xz命令:

常用选项:

  • -d:解压缩的参数;
  • -t:测试压缩文件的完整性,看看有没有错误;
  • -l:列出压缩文件的相关信息;
  • -k:保留原本的文件不删除;
  • -c:将数据由屏幕输出的意思;
  • -#:#为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6。

举例说明:

(1)压缩:

[[email protected] ~]# xz -v /mnt/passwd
[[email protected] ~]# ls /mnt
passwd.xz

(2)查看:

[[email protected] ~]# xz -l /mnt/passwd.xz  #查看文件压缩前后的大小
[[email protected] ~]# xzcat /mnt/passwd.xz  #将文件信息显示在屏幕上

(3)解压并查看

[[email protected] ~]# xz -d /mnt/passwd.xz
[[email protected] ~]# ls /mnt
passwd

4、tar归档命令

常用选项:

  • -c:创建打包文件,可搭配-v来查看过程中被打包的文件名;
  • -C:解压时指定释放的目标文件夹。
  • -f:表示使用归档文件,一般后面要跟被处理的文件名。
  • -j:调用bzip2程序进行压缩或解压缩。
  • -J:通过xz的程序进行压缩或解压缩。
  • -p:打包时保留文件及目录的权限。
  • -P:打包时保留文件和目录的绝对路径。
  • -t: 列表查看包内的文件。
  • -v:输出解压/压缩过程的详细信息。
  • -x:解开.tar格式的包文件。
  • -z:调用gzip程序进行压缩或解压缩。

使用示例:

[[email protected] ~]# tar jcf filename.tar.bz2 要压缩的文件或目录  #压缩
[[email protected] ~]# tar jtvf filename.tar.bz2   #查看压缩文件的内容
[r[email protected] ~]# tar jxvf filename.tar.bz2 -C 想要解压缩至哪个目录    #解压缩

二、其他常见的压缩与备份工具

5、dd命令(常用):

常用选项:

  • if:input file(原文件)也可以是设备;
  • of:output file(备份后的文件)也可以是设备;
  • bs:规划的一个block(块)的大小,若未指定则默认是512Bytes(字节);
  • count:多少块的意思。

举例说明:

[[email protected] ~]# dd if=/dev/zero of=/a/123.txt bs=10M count=5
#将/dev/zero文件中的信息复制到/a目录下创建一个123.txt的文件,一次10M,5次,最终该文件的大小是50M。

6、cpio命令(不常用):

备份常用选项:

  • -o:将数据copy输出到文件或设备上;
  • -B:让默认的Blocks可以增加到5120字节,默认是512字节;
  • (这样的好处是可以让大文件的储存速度加快)。
    还原会使用到的选项和参数:
  • -i:将数据自文件或设备copy到系统中;
  • -d:自动创建目录!;
  • (使用cpio所备份的数据内容不一定会在同一层目录下,因此我们必须要让cpio在还原时可以自动创建新目录,就必须使用“-d”选项);
  • -u:自动的比较新文件覆盖旧文件;
  • -t:需结合“-i”选项,可用在查看创建的文件或设备内容时。
    一些可共享的选项和参数:
  • -v:让储存的过程中文件名称可以在屏幕上显示;
  • -c:一种较新的protable format方式储存。

举例说明:

(1)备份
使用此命令需要先使用find命令查找,然后才可输出文件给该命令使用

#将/boot目录下的所有文件使用cpio的命令复制到/mnt目录下,命名为boot.cpio
[[email protected] ~]# find /boot | cpio -ocvB > /mnt/boot.cpio
[[email protected] ~]# ls -lh /mnt/boot.cpio
-rw-r--r--. 1 0 root 140M 8月  20 23:30 /mnt/boot.cpio

(2)还原

[[email protected] ~]# cpio -idvc < /mnt/boot.cpio  #将压缩文件还原到原本的目录中
[[email protected] ~]# find / | cpio -ocvB > /dev/st0      #备份
[[email protected] ~]# cpio -idvc < /dev/st0                  #还原

三、XFS文件系统的备份与还原

1、xfs文件系统的备份——xfsdump命令:

xfsdump命令的限制:

  • xfsdump不支持没有挂载的文件系统,所以只能备份已挂载的;
  • Xfsdump必须使用root的权限才能操作(涉及文件系统的关系);
  • Xfsdump只能备份xfs文件系统;
  • Xfsdump备份下来的数据(文件或存储媒体)只能让xfsrestore解压;
  • Xfsdump是通过文件系统的UUID来分辨各个备份文件的,因此不能备份两个具有相同UUID的文件系统。

常用选项:

  • -L:xfsdump会记录每次备份的session标头,这里可以填写针对此文件系统的简易说明;
  • -M:xfsdump可以记录存储媒体的标头,这里可以填写此媒体的简易说明。
  • -l:是L的小写,就是指定等级,有0~9共10个等级,默认为0,即完整备份,1~9是指增量备份。
  • -f:有点类似tar,后面接产生的文件,也可以接例如/dev/st0设备文件名或其他一般文件文件名;
  • -I:大写的“i”,从/var/lib/xfsdump/inventory 列出目前备份的信息状态。

举例说明:

[[email protected] ~]# xfsdump -l O -L boot_all -Mboot_all -f /srv/boot.dump /boot
#将完整备份的文件名记录成为/srv/boot.dump
#如果不加-L和-M选项进入互动模式
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: WARNING: most recent level 0 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 0 dump of localhost.localdomain:/boot  #开始备份本机的/boot系统
xfsdump: dump date: Wed Aug 21 00:04:00 2019  #备份的时间
xfsdump: session id: 2ab52f27-54d8-4cb3-b99f-5f78601afeed  #这次dump的ID
xfsdump: session label: "boot_all"  #简单给予一个名字记忆
#开始备份程序
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: 146934272 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 146605160 bytes
xfsdump: dump size (non-dir files) : 146370000 bytes
xfsdump: dump complete: 1 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /srv/boot.dump OK (success)
xfsdump: Dump Status: SUCCESS
[[email protected] ~]# xfsdump -I  #查看有没有文件被xfsdump备份过的数据

2、xfs文件系统的还原——xfsrestore命令:

常用选项如下:

  • -I:大写的“i”跟xfsdump相同的输出!可查询备份数据,包括Label名称和备份时间等;
  • -f:后面接的就是备份文件!企业中很有可能会接/dev/st0等磁带机!
  • -L:可用“-I”查询到的数据。在这个选项后输入;
  • -s:需要接某特定目录,也能复原某一文件或目录;
  • -r:如果是用文件来存储备份数据,那这个就不需要使用。如果是一个磁盘内有多个文件,需要使用它来达成累积复原;
  • -i:进入互动模式(一般不需要)

举例说明:

[[email protected] ~]# xfsrestore -I  #查看备份文件数据
[[email protected] ~]# xfsrestore -f /srv/boot.dump -L boot_all /boot#  直接将备份数据覆盖回去

———————— 本文至此结束,感谢阅读 ————————

原文地址:https://blog.51cto.com/14154700/2431214

时间: 2024-07-31 12:41:36

Linux文件、目录及文件系统的备份与恢复相关命令的相关文章

通过SSHFS在RHEL中安全的挂载远程Linux/UNIX目录或文件系统--转载

You can easily mount remote server file system or your own home directory using special sshfs and fuse tools. FUSE - Filesystem in Userspace FUSE is a Linux kernel module also available for FreeBSD, OpenSolaris and Mac OS X that allows non-privileged

Linux之网络管理(6)ip及路由相关命令

Linux之网络管理(6)ip及路由相关命令 linux中提供了很多强大的网络管理工具,而且每更新一些版本后都会有新功能.新工具的出现,对于ip和route设置最常用的,就是ifconfig.route等命令了. IP及设备相关的命令使用: ifconfig 命令 查看接口设备信息 ifconfig                 #查看所有启用(up状态)的接口信息 ifconfig  ifcfg-x        #查看指定的网络接口信息 ifconfig  -a             #

Linux文件/目录,权限相关

查看权限 命令 # ls -l filename 结果 -rw-r--r-- l root root 27 11-10 14:50 filename 解析: -rw-r--r-- --共10位 第1位:文件类型 >> 普通文件(-).目录(d).字符设备(c).块设备(d).套接口文件(s).符号链接(l).管道(p) 2-4位:所有者(user)权限 5-7位:组群(group)权限 8-10位:其他人(other)权限 权限说明 r:读(read) w:写(write) x:执行(exec

linux 文件系统解析及相关命令(转)

简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Linux发行版本之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录结构基本上都是一样的. 文件系统有多种类型,如: ext2 : 早期linux中常用的文件系统: ext3 : ext2的升级版,带日志功能: RAMFS : 内存文件系统,速度很快: iso9660:

linux 文件系统解析及相关命令

简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Linux发行版本之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录结构基本上都是一样的. 文件系统有多种类型,如: ext2 : 早期linux中常用的文件系统: ext3 : ext2的升级版,带日志功能: RAMFS : 内存文件系统,速度很快: iso9660:

Linux 文件|目录 属性

文件属性 ls  -l 列出的文件|目录信息如下 第一个字符指定类型,-是文件,d是目录(dir). 后面9个字符是该文件|目录的用户权限:r读,w写,x执行. 执行是指:如果该文件是一个可执行文件,需要有x权限才能运行这个可执行文件. 每3个一组,前三个是属主(文件|目录所有者)权限,中间三个是属组(与属主同组的其它用户)权限,后三个是其他组的用户的权限. 每组的权限顺序都是rwx,不具备某个权限就用-表示,比如rw-表示具有读写权限.但不具备执行权限. 1列数字是该文件|目录中的子文件.子目

Linux文件的复制、删除和移动命令

cp命令  功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大.  语法:cp [选项] 源文件或目录 目标文件或目录  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中. 参数: - a 该选项通常在拷贝目录时使用.它保留链接.文件属性,并递归地拷贝目录,其作用等于dpR选项的组合. - d 拷贝时保留链接. - f 删除已经存在的目标文件而不提示. - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认.回答y时目标文

Linux系统程序包的管理功能相关命令rpm与yum的使用

一.软件包管理核心功能 1.软件包制作 2.包管理器:打包,安装.升级.卸载.查询及校验 3.工具:rpm .deb 4.程序包的组成部分: 二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin, 库文件:/lib64, /usr/lib64 配置文件:/etc 帮助文件:manual, info 5.rpm包管理 rpm:数据库  /var/lib/rpm rpmbuild:建立软件管理数据库 rpm包默认为二进制格式,有rpm包作者下载源码程序,编译完成后,制作成r

Linux用户权限管理和组管理相关命令

目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限 对 文件/目录 的权限包括: 序号 权限 英文 缩写 数字代号 01