网站首页

【金沙4066官网】一声令下详解,linux备份与回复之二

19 7月 , 2019  

linux dump 命令详解

功能说明:备份文件系统。

《Linux指令从初学到精通》第3章文件管理,本章介绍了许多常用命令,如cp、ln、chmod、chown、diff、tar、mv等,因为这些都与文件管理相关,在日常的使用中经常用到,因此本章是本书的重点章节。本节为大家介绍dump(文件系统备份)。

功能说明:备份文件系统。

语  法:dump [-cnu][-0123456789][-b <区块大小>][-B
<区块数目>][-d <密度>][-f <设备名称>][-h
<层级>][-s <磁带长度>][-T
<日期>][目录或文件系统] 或 dump [-wW]

AD:

语  法:dump [-cnu][-0123456789][-b <区块大小>][-B
<区块数目>][-d <密度>][-f <设备名称>][-h
<层级>][-s <磁带长度>][-T
<日期>][目录或文件系统] 或 dump [-wW]

补充说明:dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
参  数:
 -0123456789  备份的层级。
 -b<区块大小>  指定区块的大小,单位为KB。
 -B<区块数目>  指定备份卷册的区块数目。
 -c  修改备份磁带预设的密度与容量。
 -d<密度>  设置磁带的密度。单位为BPI。
 -f<设备名称>  指定备份设备。
 -h<层级>
 当备份层级等于或大雨指定的层级时,将不备份用户标示为”nodump”的文件。
 -n
 当备份工作需要管理员介入时,向所有”operator”群组中的使用者发出通知。
 -s<磁带长度>  备份磁带的长度,单位为英尺。
 -T<日期>  指定开始备份的时间与日期。
 -u
 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。
 -w  与-W类似,但仅显示需要备份的文件。
 -W  显示需要备份的文件及其最后一次备份的层级,时间与日期。
Linux学习笔记之备份命令dump/还原命令restore

3.19 dump(文件系统备份)

补充说明:dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
参  数:
 -0123456789  备份的层级。
 -b<区块大小>  指定区块的大小,单位为KB。
 -B<区块数目>  指定备份卷册的区块数目。
 -c  修改备份磁带预设的密度与容量。
 -d<密度>  设置磁带的密度。单位为BPI。
 -f<设备名称>  指定备份设备。
 -h<层级>
 当备份层级等于或大雨指定的层级时,将不备份用户标示为”nodump”的文件。
 -n
 当备份工作需要管理员介入时,向所有”operator”群组中的使用者发出通知。
 -s<磁带长度>  备份磁带的长度,单位为英尺。
 -T<日期>  指定开始备份的时间与日期。
 -u
 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。
 -w  与-W类似,但仅显示需要备份的文件。
 -W  显示需要备份的文件及其最后一次备份的层级,时间与日期。
Linux学习笔记之备份命令dump/还原命令restore

dump 可以执行类似 tar 的功能。然而, dump
倾向于考虑文件系统而不是个别的文件。下面是引自 dump
手册文件中的内容:“dump 检查 ext2
文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上……大于输出媒体容量的转储将被划分到多个卷。在大多数媒体上,容量是通过一直写入直至返回一个
end-of-media 标记来确定的。”

(1)频度等级:☆

dump 可以执行类似 tar 的功能。然而, dump
倾向于考虑文件系统而不是个别的文件。下面是引自 dump
手册文件中的内容:“dump 检查 ext2
文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上……大于输出媒体容量的转储将被划分到多个卷。在大多数媒体上,容量是通过一直写入直至返回一个
end-of-media 标记来确定的。”

配合 dump 的程序是 restore ,它用于从转储映像还原文件。

(2)功能说明:

配合 dump 的程序是 restore ,它用于从转储映像还原文件。

restore
命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。

dump
为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

restore
命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。

dump 和 restore 都能在网络上运行,因此您可以通过远程设备进行备份或还原。
dump 和 restore
使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于 ext2 和
ext3 文件系统。如果使用的是 JFS、Reiser
或者其他文件系统,您将需要其他的实用工具,比如 tar 。

(3)语法:

dump 和 restore 都能在网络上运行,因此您可以通过远程设备进行备份或还原。
dump 和 restore
使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于 ext2 和
ext3 文件系统。如果使用的是 JFS、Reiser
或者其他文件系统,您将需要其他的实用工具,比如 tar 。

使用 dump 执行备份
使用 dump 执行备份是相当简单的。下面的命令执行一个完全 Linux
备份,它把所有 ext2 和 ext3 文件系统备份到一个 SCSI 磁带设备。

  1. dump[-cnu][-0123456789][-b <区块大小>][-B 
    <区块数目>][-d <密度>][-f <设备名称>][-h <层
     
  2. 级>][-s <磁带长度>][-T <日期>][目录或文件系统]
     
  3. dump [-wW] 

使用 dump 执行备份
使用 dump 执行备份是相当简单的。下面的命令执行一个完全 Linux
备份,它把所有 ext2 和 ext3 文件系统备份到一个 SCSI 磁带设备。

dump 0f /dev/nst0 /boot
         

(4)所属包:

dump 0f /dev/nst0 /boot
         

dump 0f /dev/nst0 /

  1. dump          # yum -y install dump

dump 0f /dev/nst0 /

       

(5)使用技巧:

       

在这个例子中,系统中有两个文件系统。一个用于 /boot,另一个用于 /
,这是常见的配置。它们必须在执行备份时单独地引用。 /dev/nst0 引用第一个
SCSI
磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。

指定生成的备份文件名或目标设备文件,可使用参数“-f”。

在这个例子中,系统中有两个文件系统。一个用于 /boot,另一个用于 /
,这是常见的配置。它们必须在执行备份时单独地引用。 /dev/nst0 引用第一个
SCSI
磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。

dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中, 0 表示 0
级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替
0,以改变备份级别。1 级备份会保存自从执行 0
级备份以来更改过的所有文件。2 级备份会保存自从执行 1
级备份以来更改过的所有文件,以此类推。使用 tar
和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。
dump
具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行
0 级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次 0
级备份。如果您在执行基于磁带的备份, dump 会自动跟踪多个卷。

第一次备份文件时,备份层级为0,以后使用增量备份,以缩短备份时间并节省空间。

dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中, 0 表示 0
级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替
0,以改变备份级别。1 级备份会保存自从执行 0
级备份以来更改过的所有文件。2 级备份会保存自从执行 1
级备份以来更改过的所有文件,以此类推。使用 tar
和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。
dump
具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行
0 级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次 0
级备份。如果您在执行基于磁带的备份, dump 会自动跟踪多个卷。

跳过文件
标记将被 dump 跳过的文件和目录是可以做到的。实现此目的的命令是 chattr
,它改变 ext2 和 ext3 文件系统上的扩展属性。

(6)相关命令:

跳过文件
标记将被 dump 跳过的文件和目录是可以做到的。实现此目的的命令是 chattr
,它改变 ext2 和 ext3 文件系统上的扩展属性。

chattr +d <filename>

  1. restore
                   
    //恢复

chattr +d <filename>

上面的命令向文件添加一个标记,让 dump 在执行备份时跳过该文件。

(7)参数:

上面的命令向文件添加一个标记,让 dump 在执行备份时跳过该文件。

使用 restore 来执行还原
要还原使用 dump 保存的信息,可以使用 restore 命令。像 tar 一样, dump
能够列出( -t )归档文件的内容,并与当前文件作比较( -C )。使用 dump
時必须小心的地方是还原数据。有两种非常不同的还原方法,您必须使用正确的方法才能获得可预测的结果。

dump主要参数如表3-21 所示。

使用 restore 来执行还原
要还原使用 dump 保存的信息,可以使用 restore 命令。像 tar 一样, dump
能够列出( -t )归档文件的内容,并与当前文件作比较( -C )。使用 dump
時必须小心的地方是还原数据。有两种非常不同的还原方法,您必须使用正确的方法才能获得可预测的结果。

重建 (-r)
记住,在设计 dump
时考虑得更多的是文件系统,而不是单独的文件。因此,存在两种不同的文件还原风格。要重建一个文件系统,可使用
-r
命令行开关。设计重建的目的是为了能在空文件系统上操作,并将它还原为已保存的状态。在执行重建之前,您应该已经创建、格式化和装载(mount)了该文件系统。不应该对包含文件的文件系统执行重建。

表3-21 dump参数表

重建 (-r)
记住,在设计 dump
时考虑得更多的是文件系统,而不是单独的文件。因此,存在两种不同的文件还原风格。要重建一个文件系统,可使用
-r
命令行开关。设计重建的目的是为了能在空文件系统上操作,并将它还原为已保存的状态。在执行重建之前,您应该已经创建、格式化和装载(mount)了该文件系统。不应该对包含文件的文件系统执行重建。

下面是使用上面执行的转储来执行完全重建的例子。

 

下面是使用上面执行的转储来执行完全重建的例子。

restore -rf /dev/nst0

(8)典型实例:

restore -rf /dev/nst0

上面这个命令需要针对要还原的每个文件系统分别执行。

例1:使用dump命令备份指定目录。

上面这个命令需要针对要还原的每个文件系统分别执行。

在需要的时候,可以重复这个过程来添加增量备份。

例如使用“-f”参数备份指定的“/etc”目录,使用如下命令:

在需要的时候,可以重复这个过程来添加增量备份。

提取 (-x)
如果需要使用单独的文件而不是使用整个文件系统,您必须使用 -x
开关来提取它们。例如,要仅从我们的磁带备份中提取 /etc
目录,可使用以下命令:

  1. dump-f etc.bak /etc/ #备份/etc/目录下所有文件 

提取 (-x)
如果需要使用单独的文件而不是使用整个文件系统,您必须使用 -x
开关来提取它们。例如,要仅从我们的磁带备份中提取 /etc
目录,可使用以下命令:

restore -xf /dev/nst0 /etc

将输出以下信息:

restore -xf /dev/nst0 /etc

交互式还原 (-i)
restore 提供的另外一个特性是交互式模式。使用命令:

    1. cmd@cmd-desktop:~$ dump -f etc.bak /etc/#备份/etc/目录下所有文件
       
  1. DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009 #备份输出信息
     

  2. DUMP: Label: none  
  3. DUMP: Writing 10 Kilobyte records  
  4. DUMP: mapping (Pass I) [regular files]  
  5. DUMP: mapping (Pass II) [directories]  
  6. DUMP: estimated 14472 blocks.  
  7. DUMP: Volume 1 started with block 1 at: Sun Sep 20 14:47:36 2009  
  8. DUMP: dumping (Pass III) [directories]  
  9. DUMP: dumping (Pass IV) [regular files]  
  10. DUMP: Closing etc.bak  
  11. DUMP: Volume 1 completed at: Sun Sep 20 14:47:38 2009  
  12. DUMP: Volume 1 14870 blocks (14.52MB)  
  13. DUMP: Volume 1 took 0:00:02  
  14. DUMP: Volume 1 transfer rate: 7435 kB/s  
  15. DUMP: 14870 blocks (14.52MB) on 1 volume(s)  
  16. DUMP: finished in 2 seconds, throughput 7435 kBytes/sec  
  17. DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009  
  18. DUMP: Date this dump completed: Sun Sep 20 14:47:38 2009  
  19. DUMP: Average transfer rate: 7435 kB/s  
  20. DUMP: DUMP IS DONE 

    eg:

    [root@localhost ~]# du -sh /etc
    37M    /etc

  21. [root@localhost ~]# ll -h etc.bak
    -rw-r–r–. 1 root root 44M Jul  1 05:22 etc.bak

交互式还原 (-i)
restore 提供的另外一个特性是交互式模式。使用命令:

restore -if /dev/nst0

使用file命令查看文件信息,可得到如下结果:

restore -if /dev/nst0

将把您置于交互式 shell
中,同时还显示了包含在该归档文件中的项。键入“help”将会显示一个命令列表。然后您就可以浏览并选择希望提取的项。务必记住,您提取的任何文件都将进入当前目录。

  1. cmd@cmd-desktop:~$ file etc.bak #查看备份文件信息
     
  2. etc.bak: new-fs dump file (little endian), This 
    dump Sun Sep 20 14:47:35 2009, Previous  
  3. dump Thu Jan 1 08:00:00 1970, Volume 1, Level 
    zero, type: tape header, Label none, Filesystem  
  4. / (dir etc), Device /dev/sda1, Host hdd-desktop,
    Flags 3 #备份文件的详细信息 

将把您置于交互式 shell
中,同时还显示了包含在该归档文件中的项。键入“help”将会显示一个命令列表。然后您就可以浏览并选择希望提取的项。务必记住,您提取的任何文件都将进入当前目录。

举例说明:
dump命令是一个专门用来备份的工具。

例2:使用dump
命令备份整个根文件系统。使用该命令可以将整个根文件系统备份到指定的外设,使用的命令如下:

举例说明:
dump命令是一个专门用来备份的工具。

[[email protected]
pyegrp]# dump -0 -u -f /dev/hda3 /home/pyegrp/
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Dumping /dev/hda9 (/home/pyegrp) to /dev/hda3
DUMP: Added inode 7 to exclude list (resize inode)
DUMP: Label: none
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 15492 tape blocks.
DUMP: Volume 1 started with block 1 at: Sat Nov 30 19:46:01 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /dev/hda3
DUMP: Volume 1 completed at: Sat Nov 30 19:46:13 2002
DUMP: Volume 1 15490 tape blocks (15.13MB)
DUMP: Volume 1 took 0:00:12
DUMP: Volume 1 transfer rate: 1290 kB/s
DUMP: 15490 tape blocks (15.13MB) on 1 volume(s)
DUMP: finished in 12 seconds, throughput 1290 kBytes/sec
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Date this dump completed: Sat Nov 30 19:46:13 2002
DUMP: Average transfer rate: 1290 kB/s
DUMP: DUMP IS DONE

  1. dump -0f /dev/nst0 / #将整个根文件系统备份到SCSI 设备/dev/nst0 

[root@laptop pyegrp]# dump -0 -u -f /dev/hda3 /home/pyegrp/
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Dumping /dev/hda9 (/home/pyegrp) to /dev/hda3
DUMP: Added inode 7 to exclude list (resize inode)
DUMP: Label: none
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 15492 tape blocks.
DUMP: Volume 1 started with block 1 at: Sat Nov 30 19:46:01 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /dev/hda3
DUMP: Volume 1 completed at: Sat Nov 30 19:46:13 2002
DUMP: Volume 1 15490 tape blocks (15.13MB)
DUMP: Volume 1 took 0:00:12
DUMP: Volume 1 transfer rate: 1290 kB/s
DUMP: 15490 tape blocks (15.13MB) on 1 volume(s)
DUMP: finished in 12 seconds, throughput 1290 kBytes/sec
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Date this dump completed: Sat Nov 30 19:46:13 2002
DUMP: Average transfer rate: 1290 kB/s
DUMP: DUMP IS DONE

-0 是备份的等级,从0-9,0以后都是更新备份的参数,一般常用的是0和9
-u 是将备份记录写入/etc/dumpdates这个文件中

该命令将整个根文件系统备份到外设“/dev/nst0”上。

-0 是备份的等级,从0-9,0以后都是更新备份的参数,一般常用的是0和9
-u 是将备份记录写入/etc/dumpdates这个文件中

[[email protected]
pyegrp]# cat /etc/dumpdates
/dev/hda9 0 Sat Nov 30 19:45:56 2002
/dev/hda9 9 Sat Nov 30 17:04:20 2002


[root@laptop pyegrp]# cat /etc/dumpdates
/dev/hda9 0 Sat Nov 30 19:45:56 2002
/dev/hda9 9 Sat Nov 30 17:04:20 2002

注意,当你备份的目录是一个子目录,而不是一个分区的顶层目录时-u参数
是不能使用的。

完整备份工具:dump,restore

注意,当你备份的目录是一个子目录,而不是一个分区的顶层目录时-u参数
是不能使用的。

-f
是指定备份到那个文件,也可以指定一个设备文件,我在这里指定的就是一个分区

dump:除了可以备份整个文件系统外,还可以制定等级。

-f
是指定备份到那个文件,也可以指定一个设备文件,我在这里指定的就是一个分区

更新备份:
在0级别备份的基础上,向/home/pyegrp写入一些新的文件,然后
umount /home/pyegrp
mount /home/pyegrp
注意如果不这样做,不会将新写入的文件备份进去的。
然后:
[[email protected]
pyegrp]# dump -9 -u -f /dev/hda3 /home/pyegrp/
用restore tf /dev/hda3
就会看到刚刚写入的文件会出现在列表中。

     dump支持整个文件系统或者单一目录,但对于目录的支持比较不足。

更新备份:
在0级别备份的基础上,向/home/pyegrp写入一些新的文件,然后
umount /home/pyegrp
mount /home/pyegrp
注意如果不这样做,不会将新写入的文件备份进去的。
然后:
[root@laptop pyegrp]# dump -9 -u -f /dev/hda3 /home/pyegrp/
用restore tf /dev/hda3
就会看到刚刚写入的文件会出现在列表中。

restore命令是用来恢复备份的。
[[email protected]
pyegrp]# restore rf /dev/hda3 /home/pyegrp

 

restore命令是用来恢复备份的。
[root@laptop pyegrp]# restore rf /dev/hda3 /home/pyegrp

用restore命令来查看备份文件里的文件列表
[[email protected]
pyegrp]# restore ft /dev/hda3

 
当待备份的数据为单一文件系统时:可以使用完整的dump功能,包括利用0~9的数个level来备份等。

用restore命令来查看备份文件里的文件列表
[root@laptop pyegrp]# restore ft /dev/hda3

语 法:dump
[-cnu][-0123456789][-b 区块大小][-B 区块数目][-d 密度][-f
设备名称][-h 层级][-s 磁带长度][-T 日期][目录或…

  当待备份的数据只是目录,并非单一文件系统时:

金沙4066官网 1

所有的备份数据都必须要在该目录下面;

且仅能使用level
0,即仅支持完整备份而已;

不支持-u
参数,即无法创建/etc/dumpdates这个level备份的时间记录文件。

 

#dump [-Suvj] [-level] [-f 备份文件] 待备份数据

#dump -W

  -S:仅列出后面的待备份的数据需要多少磁盘空间才能够备份完毕

  -u:将这次dump的时间记录到 /etc/dumpdates文件中

  -v:将dump的文件过程显示出来

  -j:加入bzip2的支持,将数据进行压缩,默认bzip2压缩等级为2

  -level:压缩等级,-0~-9十个等级

  -f:有点类似tar,后面接产生的文件,可接例如 /dev/st0设备文件名等

  -W:列出在/etc/fstab里面的具有dump设置的分区是否有备份过

 

例如:

    #df -h

    #dump -S /dev/sda1

    #dump -0u -f /root/boot.dump /boot

    #ll /root/boot.dump /etc/dumpdates

    #cat /etc/dumpdates

  查看一下有没有被 dump 过的文件系统

    #dump -W

 

 

用dump备份非文件系统,即单一目录的方法

    -u,level 1~9都不适用

  将 /etc 整个目录通过dump进行备份,且含压缩功能

    #dump -0j -f /root/etc.dump.bz2 /etc

 

 

restore:恢复dump备份

#restore -t [-f dumpfile] [-h]         ==>用来查看dump文件

#restore -C [-f dumpfile] [-D 挂载点] ==>比较dump与实际文件

#restore -i [-f dumpfile] ==>进入互动模式

#restore -r [-f dumpfile] ==>还原整个文件系统

相关的各种模式,各种模式无法混用,例如不可写 -tC。

  -t:此模式用在查看dump起来的备份文件中含有什么重要数据。类似tar -t
功能。

 
-C:此模式可以将dump内的数据拿出来跟实际的文件系统作比较,最终会列出“在dump文件内有记录的,
     且目前文件系统不一样”的文件。

  -i:进入互动模式,可以仅还原一部分文件,用在dump目录时的还原。

  -r:将整个文件系统还原的一种模式,用在还原针对文件的dump备份。

  -h:查看完整备份数据中的inode与文件系统label 等信息。

  -f:后面就接你要处理的那个dump文件。

  -D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的文件。

 

例子:

  1.用restore查看dump后的备份数据内容

    将boot.dump的文件内容显示出来看看

    #restore -t -f /root/boot.dump

  2.比较差异并且还原整个文件系统

   
dump可以查询文件系统与备份文件之间的差异,并且将分析到的差异数据进行备份。

    #cd /boot 

    #mv config-2.6.18-128.el5 config-2.6.18-128.e15-back

    #restore -C -f /root/boot.dump  
 (通过备份的数据,找到与目前实际文件系统有差异的数据)

 

 
 由于dump是记录整个文件系统的,因此还原时你也应该要给予一个全新的文件系统才行。

    #fdisk /dev/sda

    ….

    #partprobe

    #mkfs -t ext3 /dev/sda8

    #mount /dev/sda8 /mnt

    #cd /mnt

    #restore -r -f /root/boot.dump

 

 

仅还原部分文件的restore互动模式

#cd /mnt

#restore -i -f /root/etc.dump

   此时进入了
互动模式

   按help会有帮助

 
 里面可以用ls,cd,pwd等命令

   >add passwd shadow group  
  ==>加入解压缩列表

   >delete group
==>加错了,将group删除

   >ls passwd
shadow

    *passwd        
 要被解压缩的前面有 *

    *shadow

   >extract
==>开始进行解压缩

   >quit

#ll -d etc

#ll etc

引自:


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图