首页 > 基础设施 > 正文

Linux系统下数据备份与恢复

2013-08-10 15:45:00  来源:互联网

摘要:任何系统都有可能遭遇到一些无法考虑到的失效,比如人为误操作,电气故障,以及自然界不可抗力等等,在这些情况威胁下,数据备份就成为非常重要和必要的安全措施。
关键词: 数据备份 Linux

    1 为什么要备份


    任何系统都有可能遭遇到一些无法考虑到的失效,比如人为误操作,电气故障,以及自然界不可抗力等等,在这些情况威胁下,数据备份就成为非常重要和必要的安全措施。


    2 备份的策略


    基本的备份策略分为下面三类:


    完全备份(full backup):对文件系统中所有的文件和目录进行备份。其特点是备份时间长,存储的数据量大,通常是在安装好系统时首次创建备份时执行一次完全备份。


    增量备份(Incremental backup):只备份上次完全备份或增量备份以来新创建、新修改的文件。它的特点是最少的备份时间,最小的数据存储空间,但在恢复过程时需要将之前的完全备份和增量备份逐一恢复,因此时间上较慢。


    差异备份(differential backup):差异备份与增量备份类似,只备份更动过的数据。区别是增量备份的是上一次备份以(无论是哪种数据备份方式)来,所有发生变化的文件;差异备份则要对完全备份以来,更新之后,与完全备份有差异的部分进行备份。


    3 备份工具命令


    3.1 dd命令


    dd是Linux下常用的磁盘文件系统完全备份命令。它针对指定大小的磁盘区块进行物理读写的拷贝,还能在拷贝的同时进行一些必要的压缩转换。因为其低级读写的特性,常常用它来进行整块硬盘间的拷贝,还有就是特殊磁道的备份。


    例一:磁盘备份。


    # dd if=/dev/sda of=/dev/sdb #磁盘sda复制到磁盘sdb


    # dd if=/dev/sda of=/path/image #将磁盘sda复制到路径为path的image文件


    例二:磁盘恢复。


    # dd if=/path/image of=/dev/sda #将path路径下的image文件恢复到sda磁盘


    例三:制作光盘镜像。


    # dd if=/dev/cdrom of=/tmp/cdrom.iso #制作cdrom光盘镜像


    例四:MBR(磁盘主引导记录)的备份与恢复。


    # dd if=/dev/sda of=/path/to/image count=1 bs=512#MBR位于磁盘开始之后的512字节


    # dd if=/path/to/image of=/dev/sda


    3.2 tar命令


    tar是Linux系统针对文件系统指定文件的归档、打包工具。配合压缩工具也能对打包后进行压缩处理。


    例一:备份/home目录及其子目录,把它存为home.tar。


    # tar cvf home.tar /home


    例一:备份/home目录及其子目录,把它压缩存为home.tar.gz。


    # tar czvf home.tar.gz /home


    例三:将home.tar.gz解压并还原。


    # tar xzvf home.tar.gz


    例四:查看home.tar中的文件目录。


    # tar tvf home.tar


    3.3 cpio命令


    cpio命令也是通过拷贝的方式实现文件或文件系统的备份与恢复。它与tar的不同之处在于它能通过重定向以及管道操作,可以将文件发送给外部设备。


    例一:通过cpio命令将/etc下的所有文件都备份到/tmp/etc.cpio文件中。


    # find /etc -type f | cpio -o > /tmp/etc.cpio


    例二:查看备份文件内容。


    # cpio -idvt < /tmp/etc.cpio


    例三:利用cpio命令将系统上的所有文件备份至磁带机中。


    # find / -print | cpio -covB > /dev/st0


    例四:解压备份文件。


    # cpio -iduv < /tmp/etc.cpio


    3.4 dump和restore命令


    dump与restore命令用来实现在Linux下的增量备份与差异备份。


    例一:计算备份/dev/hda1所需要的磁盘空间。


    #dump -0S /dev/sda1


    例二:将/dev/sda1备份至/tmp/sda_dump中。


    dump -0u -f /tmp/sda_dump /dev/sda1


    例三:将整个文件系统备份至磁带机nst0上。


    # dump 0f /dev/nst0 /


    例四:使用restore检查备份文件内容。


    # restore -tf /tmp/sda_dump


    例五:从磁带机nst0上恢复这个文件系统。


    # restore –rf /dev/nst0


    例六:从磁带机nst0上只恢复/etc目录。


    restore -xf /dev/nst0 /etc


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。