澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

文件系统备份,linux中压缩与备份命令大全

dump备份

一、压缩与解压缩

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

restore还原

1、compress [-rcv] 文件或目录 <==压缩

AD:

dd数据备份

uncompress 文件.Z <==解压缩

3.19 dump(文件系统备份)

mkisofs镜像文件制作

-r:可以连同目录下的文件也同时进行压缩

(1)频度等级:☆

dump备份

dump主要用于备份真个文件系统备份,虽然也可以备份单一目录,但是对目录的支持不足,单一目录还是建议使用打包压缩的方式进行备份

dump另一个只要功能就是制定等级,也就是可以进行增量备份。

澳门皇冠844网站 1

dump等级分为0澳门皇冠844网站,~9 10个等级,0是完全备份,1是在0的基础上进行增量备份,依次类推

当待备份的数据为单一文件系统

可以利用了level 0~9进行备份,同时可以使用dump完整功能

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

限制:

所有备份数据必须都在该目录下

仅能使用level 0 进行数据备份

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

语法:dump [-Suvj] [-level] [-f备份文件]待备份数据

dump -W

选项与参数:

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

-u:将这次备份记录到/etc/dumpdates文件中

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

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

-level:备份等级0~9

-f:备份文件

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

举例1:备份挂载到/boot文件系统 level -0

[[email protected] ~]# dump -S /boot16752640[[email protected] ~]# dump -u -0 -f /root/boot.dump.0 /boot  DUMP: Date of this level 0 dump: Fri Feb 28 15:05:56 2014  DUMP: Dumping /dev/sda1 (/boot) to /root/boot.dump.0  DUMP: Label: /boot  DUMP: Writing 10 Kilobyte records  DUMP: mapping (Pass I) [regular files]  DUMP: mapping (Pass II) [directories]  DUMP: estimated 16360 blocks.  DUMP: Volume 1 started with block 1 at: Fri Feb 28 15:05:56 2014  DUMP: dumping (Pass III) [directories]  DUMP: dumping (Pass IV) [regular files]  DUMP: Closing /root/boot.dump.0  DUMP: Volume 1 completed at: Fri Feb 28 15:05:58 2014  DUMP: Volume 1 16440 blocks (16.05MB)  DUMP: Volume 1 took 0:00:02  DUMP: Volume 1 transfer rate: 8220 kB/s  DUMP: 16440 blocks (16.05MB) on 1 volume(s)  DUMP: finished in 2 seconds, throughput 8220 kBytes/sec  DUMP: Date of this level 0 dump: Fri Feb 28 15:05:56 2014  DUMP: Date this dump completed:  Fri Feb 28 15:05:58 2014  DUMP: Average transfer rate: 8220 kB/s  DUMP: DUMP IS DONE   [[email protected] ~]# cat /etc/dumpdates /dev/sda1 0 Fri Feb 28 15:05:56 2014  0800=>可以看出etc/dumpdates记录着这次备份信息

举例2:查看文件系统备份记录

[[email protected] ~]# dump -WLast dump(s) done (Dump '>' file systems):> /dev/sda2     (     /) Last dump: never> /dev/sda3     ( /home) Last dump: never  /dev/sda1     ( /boot) Last dump: Level 0, Dat> /dev/sda6     (/mnt/sda6) Last dump: never=>可以看出sda1已经进行了level0备份,其他还未备份

举例3:增量备份 level 1

[[email protected] ~]# dd if=/dev/zero of=/boot/bigfile.img bs=1M count=2020 0 records in20 0 records out20971520 bytes (21 MB) copied, 0.320717 seconds, 65.4 MB/s=>先创建一个20M左右的文件[[email protected] ~]# dump -u -1 -f /root/boot.dump.1 /boot  DUMP: Date of this level 1 dump: Fri Feb 28 15:17:51 2014  DUMP: Date of last level 0 dump: Fri Feb 28 15:05:56 2014  DUMP: Dumping /dev/sda1 (/boot) to /root/boot.dump.1  DUMP: Label: /boot  DUMP: Writing 10 Kilobyte records  DUMP: mapping (Pass I) [regular files]  DUMP: mapping (Pass II) [directories]  DUMP: estimated 20543 blocks.  DUMP: Volume 1 started with block 1 at: Fri Feb 28 15:17:52 2014  DUMP: dumping (Pass III) [directories]  DUMP: dumping (Pass IV) [regular files]  DUMP: Closing /root/boot.dump.1  DUMP: Volume 1 completed at: Fri Feb 28 15:17:53 2014  DUMP: Volume 1 20580 blocks (20.10MB)  DUMP: Volume 1 took 0:00:01  DUMP: Volume 1 transfer rate: 20580 kB/s  DUMP: 20580 blocks (20.10MB) on 1 volume(s)  DUMP: finished in 1 seconds, throughput 20580 kBytes/sec  DUMP: Date of this level 1 dump: Fri Feb 28 15:17:51 2014  DUMP: Date this dump completed:  Fri Feb 28 15:17:53 2014  DUMP: Average transfer rate: 20580 kB/s  DUMP: DUMP IS DONE[[email protected] ~]# cat /etc/dumpdates /dev/sda1 0 Fri Feb 28 15:05:56 2014  0800/dev/sda1 1 Fri Feb 28 15:17:51 2014  0800=>这次配备写入备份记录中[[email protected] ~]# dump -WLast dump(s) done (Dump '>' file systems):> /dev/sda2     (     /) Last dump: never> /dev/sda3     ( /home) Last dump: never  /dev/sda1     ( /boot) Last dump: Level 1, Date Fri Feb 28 15:17:51 2014> /dev/sda6     (/mnt/sda6) Last dump: never[[email protected] ~]# ll /root/boot* -rw-r--r-- 1 root root 16834560 02-28 15:05 /root/boot.dump.0-rw-r--r-- 1 root root 21073920 02-28 15:17 /root/ boot.dump.1=> boot.dump.1大小约为20M,可见是增量备份

举例4:单一目录进行备份

[[email protected] ~]# dump -0 -f /root/etc.dump /etc  DUMP: Date of this level 0 dump: Fri Feb 28 15:23:39 2014  DUMP: Dumping /dev/sda2 (/ (dir etc)) to /root/etc.dumpDUMP: Label: /  DUMP: Writing 10 Kilobyte records  DUMP: mapping (Pass I) [regular files]  DUMP: mapping (Pass II) [directories]  DUMP: estimated 177675 blocks.  DUMP: Volume 1 started with block 1 at: Fri Feb 28 15:23:41 2014  DUMP: dumping (Pass III) [directories]  DUMP: dumping (Pass IV) [regular files]  DUMP: Closing /root/etc.dump  DUMP: Volume 1 completed at: Fri Feb 28 15:24:23 2014  DUMP: Volume 1 188600 blocks (184.18MB)  DUMP: Volume 1 took 0:00:42  DUMP: Volume 1 transfer rate: 4490 kB/s  DUMP: 188600 blocks (184.18MB) on 1 volume(s)  DUMP: finished in 42 seconds, throughput 4490 kBytes/sec  DUMP: Date of this level 0 dump: Fri Feb 28 15:23:39 2014  DUMP: Date this dump completed:  Fri Feb 28 15:24:23 2014  DUMP: Average transfer rate: 4490 kB/s  DUMP: DUMP IS DONE[[email protected] ~]# ll /root/etc.dump -rw-r--r-- 1 root root 193126400 02-28 15:24 /root/etc.dump

-c:将压缩数据输出成standard output(输出到屏幕)

(2)功能说明:

restore还原

dump备份的文件由restore进行还原

语法:

查看dump文件:restore –t [-f dumpfile] [-h]

比较dump与实际文件:restore –C [-f dumpfile] –D挂载点

进入互动模式(还原单个文件):restore –i [-f dumpfile]

还原整个文件系统:restore –r [-f dumpfile]

选项与参数:

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

-t:此模式用在察看 dump起来的备份档中含有什么重要数据!类似 tar -t功能;

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

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

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

其他较常用到的选项功能:

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

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

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

举例1:查看dump备份文件

[[email protected] ~]# restore -t -f /root/boot.dump.0Dump   date: Fri Feb 28 15:05:56 2014Dumped from: the epochLevel 0 dump of /boot on localhost.localdomain:/dev/sda1Label: /boot         2      .        11      ./lost found     10041      ./grub     10059      ./grub/grub.conf…….        14      ./System.map-2.6.18-371.el5        15      ./config-2.6.18-371.el5        16      ./symvers-2.6.18-371.el5.gz        17      ./vmlinuz-2.6.18-371.el5

举例2:比较文件差异

[[email protected] ~]# mv /boot/message /boot/message-back[[email protected] ~]# restore -C -f /root/boot.dump.0 -D /bootDump   date: Fri Feb 28 15:05:56 2014Dumped from: the epochLevel 0 dump of /boot on localhost.localdomain:/dev/sda1Label: /bootfilesys = /bootrestore: unable to stat ./message: No such file or directorySome files were modified!  1 compare errors

举例3:还原整个文件系统

[[email protected] ~]# dd if=/dev/zero of=/home/newfile bs=1M count=200200 0 records in200 0 records out209715200 bytes (210 MB) copied, 3.83857 seconds, 54.6 MB/s[[email protected] ~]# mkfs -t ext3 /home/newfile mke2fs 1.39 (29-May-2006)/home/newfile is not a block special device.……180 days, whichever comes first.  Use tune2fs -c or -i to override.[[email protected] ~]# mount -o loop /home/newfile /mnt[[email protected] ~]# df -h文件系统              容量  已用 可用 已用% 挂载点/dev/sda2             9.5G  4.4G  4.7G  49% //dev/sda3             4.8G  339M  4.2G   8% /home/dev/sda1              99M   42M   53M  45% /boottmpfs                1014M     0 1014M   0% /dev/shm/home/newfile         194M  5.6M  179M   4% /mnt=>创建一个文件挂载到mnt下[[email protected] ~]# cd /mnt[[email protected] mnt]# restore -r -f /root/boot.dump.0restore: ./lost found: File exists[[email protected] mnt]# ll总计 16149-rw-r--r-- 1 root root    70400 10-01 21:10 config-2.6.18-371.el5drwxr-xr-x 2 root root     1024 02-18 09:51 grub-rw------- 1 root root  2748313 02-18 09:46 initrd-2.6.18-371.el5.imgdrwx------ 2 root root    12288 02-14 18:00 lost found-rw-r--r-- 1 root root    80032 2009-03-13 message-rw------- 1 root root    27676 02-28 15:54 restoresymtable-rw-r--r-- 1 root root   117436 10-01 21:10 symvers-2.6.18-371.el5.gz-rw-r--r-- 1 root root   996296 10-01 21:10 System.map-2.6.18-371.el5-rw-r--r-- 1 root root 10485760 02-28 13:25 testing.img-rw-r--r-- 1 root root  1912148 10-01 21:10 vmlinuz-2.6.18-371.el5=>还原level 0备份[[email protected] mnt]# restore -r -f /root/boot.dump.1[[email protected] mnt]# ll总计 36711-rw-r--r-- 1 root root 20971520 02-28 15:17 bigfile.img-rw-r--r-- 1 root root    70400 10-01 21:10 config-2.6.18-371.el5drwxr-xr-x 2 root root     1024 02-18 09:51 grub-rw------- 1 root root  2748313 02-18 09:46 initrd-2.6.18-371.el5.imgdrwx------ 2 root root    12288 02-14 18:00 lost found-rw-r--r-- 1 root root    80032 2009-03-13 message-------- 1 root root    27724 02-28 15:55 restoresymtable-rw-r--r-- 1 root root   117436 10-01 21:10 symvers-2.6.18-371.el5.gz-rw-r--r-- 1 root root   996296 10-01 21:10 System.map-2.6.18-371.el5-rw-r--r-- 1 root root 10485760 02-28 13:25 testing.img-rw-r--r-- 1 root root  1912148 10-01 21:10 vmlinuz-2.6.18-371.el5=>还原level 1备份可以看到多了bigfile.img这个增量文件

-v:可以显示出压缩后的文件信息以及压缩过程中的一些文件名变化

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

dd

dd功能不仅限于创建文件,更多功能在于“备份”,cp,dump只是简单的文件数据拷贝,而dd可以读取设备的所有内容,比如superblock ,boot sector,mete data等

语法:dd if=”input file” of=”output file” bs=”block” count=”number”

选项与参数:

if:输入文件,也可以是设备

of:输出文件,也可以是设备

bs:每个block的大小,默认是512K

count:block数量

举例1.文件备份

[[email protected] ~]# dd if=~/.bashrc of=/tmp/bashrc 0 1 records in0 1 records out176 bytes (176 B) copied, 7.3142e-05 seconds, 2.4 MB/s[[email protected] ~]# ll /tmp/bashrc -rw-r--r-- 1 root root 176 02-28 16:17 /tmp/bashrc

举例2:文件系统备份

[[email protected] ~]# dd if=/dev/sda1 of=/tmp/boot.dd bs=1M 101 1 records in101 1 records out106896384 bytes (107 MB) copied, 9.60492 seconds, 11.1 MB/s[[email protected] ~]# ll /tmp/boot.dd-rw-r--r-- 1 root root 106896384 02-28 16:19 /tmp/boot.dd

举例3:文件系统还原

[[email protected] ~]# dd if=/tmp/boot.dd of=/dev/sda1 bs=1M

举例4.文件系统完全复制

Dump备份时,我们需要先用Dump将文件系统备份,然后创建新的文件系统,格式化,再将备份文件还原到新的文件系统。

使用dd可以不用格式化,就可以完全复制一个文件系统,因为dd将uperblock ,boot sector,mete data等信息都进行复制,格式化要做的不也正是这些事吗

[[email protected] ~]# fdisk /dev/sda…….Command (m for help): n……Command (m for help): P……   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          13      104391   83  Linux……/dev/sda7            2116        2134      152586   83  LinuxCommand (m for help): w……[[email protected] ~]# partprobe=>创建完分区[[email protected] ~]# dd if=/dev/sda1 of=/dev/sda7 208782 0 records in208782 0 records out106896384 bytes (107 MB) copied, 23.5363 seconds, 4.5 MB/s[[email protected] ~]# mount /dev/sda7 /mnt[[email protected] ~]# ll /mnt总计 5838-rw-r--r-- 1 root root   70400 10-01 21:10 config-2.6.18-371.el5drwxr-xr-x 2 root root    1024 02-18 20:26 grub-rw------- 1 root root 2748762 02-27 19:45 initrd-2.6.18-371.el5.imgdrwx------ 2 root root   12288 02-19 03:59 lost found-rw-r--r-- 1 root root   80032 2009-03-13 message-rw-r--r-- 1 root root  117436 10-01 21:10 symvers-2.6.18-371.el5.gz-rw-r--r-- 1 root root  996296 10-01 21:10 System.map-2.6.18-371.el5-rw-r--r-- 1 root root 1912148 10-01 21:10 vmlinuz-2.6.18-371.el5=> /mnt和/boot下的内容一样 并且没有进行格式化

(这个命令是非常老旧的一款)

(3)语法:

mkisofs(镜像文件备份)

语法:mkisofs [-o镜像文件] [-rv] [-m file]待备份的文件 [-V vol] –graft-point isodir=sysdir

选项与参数:

-o:镜像文件

-r:产生UNIX/Linux支持的文件数据

-v:显示构建ISO的过程

-m:排除的文件

-V:卷标名称

-graft-point:目录对照名称,如果不进行指定所以的信息都会保持在根目录

举例:

[[email protected] ~]# mkisofs -o /tmp/system.img -r -m /home/lost found -V 'tkf_file' -graft-point /root=/root /home=/home /etc=/etc[[email protected] ~]# mount -o loop /tmp/system.img /mnt[[email protected] ~]# ll /mntdr-xr-xr-x 114 root root 34816 03-01 14:31 etcdr-xr-xr-x   3 root root  2048 03-01 14:31 homedr-xr-xr-x  18 root root  4096 03-01 14:31 root

restore还原 dd数据备份 mkisofs镜像文件制作 dump备份 dump主要用于备份真个文件系统备份,虽然也可以备份单一目录,但是对目录的支...

2、gzip [-cdtv#] 文件名

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

-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理

(4)所属包:

-d:解压缩的参数

  1. dump          # yum -y install dump

-t:可以用来检验一个压缩文件的一致性,看看文件有错误

(5)使用技巧:

-v:可以显示压缩比等信息

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

-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,最好是默认的-6

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

注:默认的情况下,原文件会被覆盖,要想保留源文件可以使用-c与>的组合(例如gzip -c man.config > man.config.gz 此时源文件会被保留)

(6)相关命令:

zcat 文件名.gz 读取.gz压缩包(前提示原本的文件为文本文件)

  1. restore                 //恢复

3、bzip2 [-cdkzv#] 文件名

(7)参数:

-c:将压缩过程中产生的数据输出到屏幕上

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

-d:解压缩的参数

表3-21 dump参数表

-k:保留源文件

 

-z:压缩的参数

(8)典型实例:

-v:显示压缩比等信息

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

-#:同gzip

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

bzcat 文件名.bz2 读取.bz2压缩包

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

解压缩可以使用bunzip2来代替bzip2 -d

将输出以下信息:

4、打包命令tar (可以将多个目录或者文件打包成一个大文件,同时还可以通过gzip/bzip2的支持,将该文件进行压缩)

    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

tar [-j|-z] [cv] [-f 新建的文件名] filename... <==打包与压缩

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

tar [-j|-z] [tv] [-f 新建的文件名] <==查看文件名

  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 #备份文件的详细信息 

tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录] <==解压缩

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

-c:新建打包文件,可搭配-v来查看过程中被打包的文件名

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

-t:查看打包文件的内容有哪些文件名,重点在查看文件名

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

-x:解压缩或解打包的功能,可以搭配-C在特定的目录解开(-c,-t,-x不能同时出现在同一命令行)


-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2

完整备份工具:dump,restore

-z:通过gzip的支持进行压缩/解压缩,此时的文件名最好为*.tar.gz

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

-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来

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

-f filename:-f后面接被处理的文件名

 

-C目录:这个参数用在解压缩的时候,若要在特定目录进行解压缩

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

-p:保留备份数据的原本属性与权限

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

-P:保留绝对路径,即允许备份数据中含有根目录

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

--exclude=file:在压缩的过程中不要将file打包

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

本文由澳门皇冠金沙网站发布于网络操作,转载请注明出处:文件系统备份,linux中压缩与备份命令大全