您现在的位置是:首页 > IT基础架构 > 计算存储 >
Linux系统下数据备份与恢复
2013-08-23 15:15:24作者:宋刚 来源:
摘要介绍了在Linux操作系统下数据备份的重要性,策略的选择。列举了常用Linux 命令实现数据备份与恢复。...
任何系统都有可能遭遇到一些无法考虑到的失效,比如人为误操作,电气故障,以及自然界不可抗力等等,在这些情况威胁下,数据备份就成为非常重要和必要的安全措施。
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
(本文不涉密)
责任编辑:
上一篇:一张榜单看闪存市场上谁最有实力
下一篇:十种方法保持云中数据安全