Linux下使用“dd”工具来备份数据
2011-01-14 16:43
302 查看
在Linux平台下面,有很多的备份工具可以使用,其中的大多数都非常好。事实上,很多的linux发行版本都自带有许多的小工具。dd就是其中之一,一个灵活小巧的备份工具。
dd工具能够备份一个文件到另一个文件中,也能够备份一个分区到另一个分区中,或者能够将一个文件备份到一个分区中。可以说,dd是一个非常完美的备份工具。
下面我们来看看一个例子:将/boot分区备份到一个文件中
# dd if=/dev/sda1 of=/srv/boot.img
它的意思是,将分区/dev/sda1(假设/boot加载在sda1上),备份到/srv路径下的boot.img中。相当简单的一个命令。
注意:dd命令会进行一个全盘的“拷贝”,假如你的/dev/sda1分区总共了200MB的空间大小,但里面的数据只有100MB事实上,进行备份后的boot.img会有200MB大小。
我们来看看:
# df -hT | grep sda1
/dev/sda1 ext2 198M 86M 102M 46% /boot
# dd if=/dev/sda1 of=/srv/boot.img
417627+0 records in
417627+0 records out
213825024 bytes (214 MB) copied, 2.07951 s, 103 MB/s
# du -sh /srv/boot.img
204M /srv/boot.img
当然如果你嫌太大的话,可以压缩一下(使用管道然后用gzip或者bzip2来压缩):
# dd if=/dev/sda1 | bzip2 -9f >/srv/boot2.img.bz2
417627+0 records in
417627+0 records out
213825024 bytes (214 MB) copied, 31.5072 s, 6.8 MB/s
# du -sh boot2.img.bz2
111M boot2.img.bz2
备份后,看看怎么恢复吧:
# dd if=/srv/boot.img of=/drv/sda1
很简单吧!
来个更高级的操作:
如果你想“拷贝”整个磁盘或者整个系统(有点像ghost),首先,你需要确定你的源盘的大小,然后确定你的目标盘至少要大于或者等于源盘大小。假设你需要将/dev/sda备份到/dev/sdb中,首先确定两都大小,(条件:/dev/sdb >= /dev/sda),然后使用dd来进行克隆。
# dd if=/drv/sda of=/dev/sdb bs=446 count=1
# dd if=/dev/sda1 of=/dev/sdb1
# dd if=/dev/sda2 of=/dev/sdb2
首先,dd将MBR(主引导扇区从sda拷贝到sdb中,这样子,sdb就能够被引导了。 第一个446字节就是此MBR代码.
扩展一下:如果你想制作一个usb启动系统或者live CD,用这种方法是不是很简单!
参考阅读:http://blogs.techrepublic.com.com/opensource/?p=1771&tag=rightCol;topRated
dd工具能够备份一个文件到另一个文件中,也能够备份一个分区到另一个分区中,或者能够将一个文件备份到一个分区中。可以说,dd是一个非常完美的备份工具。
下面我们来看看一个例子:将/boot分区备份到一个文件中
# dd if=/dev/sda1 of=/srv/boot.img
它的意思是,将分区/dev/sda1(假设/boot加载在sda1上),备份到/srv路径下的boot.img中。相当简单的一个命令。
注意:dd命令会进行一个全盘的“拷贝”,假如你的/dev/sda1分区总共了200MB的空间大小,但里面的数据只有100MB事实上,进行备份后的boot.img会有200MB大小。
我们来看看:
# df -hT | grep sda1
/dev/sda1 ext2 198M 86M 102M 46% /boot
# dd if=/dev/sda1 of=/srv/boot.img
417627+0 records in
417627+0 records out
213825024 bytes (214 MB) copied, 2.07951 s, 103 MB/s
# du -sh /srv/boot.img
204M /srv/boot.img
当然如果你嫌太大的话,可以压缩一下(使用管道然后用gzip或者bzip2来压缩):
# dd if=/dev/sda1 | bzip2 -9f >/srv/boot2.img.bz2
417627+0 records in
417627+0 records out
213825024 bytes (214 MB) copied, 31.5072 s, 6.8 MB/s
# du -sh boot2.img.bz2
111M boot2.img.bz2
备份后,看看怎么恢复吧:
# dd if=/srv/boot.img of=/drv/sda1
很简单吧!
来个更高级的操作:
如果你想“拷贝”整个磁盘或者整个系统(有点像ghost),首先,你需要确定你的源盘的大小,然后确定你的目标盘至少要大于或者等于源盘大小。假设你需要将/dev/sda备份到/dev/sdb中,首先确定两都大小,(条件:/dev/sdb >= /dev/sda),然后使用dd来进行克隆。
# dd if=/drv/sda of=/dev/sdb bs=446 count=1
# dd if=/dev/sda1 of=/dev/sdb1
# dd if=/dev/sda2 of=/dev/sdb2
首先,dd将MBR(主引导扇区从sda拷贝到sdb中,这样子,sdb就能够被引导了。 第一个446字节就是此MBR代码.
扩展一下:如果你想制作一个usb启动系统或者live CD,用这种方法是不是很简单!
参考阅读:http://blogs.techrepublic.com.com/opensource/?p=1771&tag=rightCol;topRated
相关文章推荐
- Linux下使用“dd”工具来备份数据
- Linux中使用数据备份同步工具Rsync的实例教程
- Linux下使用crontab调用shell中的scp自动备份mysql数据
- linux系统下使用rsync实现网站数据实时同步备份
- Linux系统下的数据镜像备份工具――Rsync
- linux 平台下 postgres 使用 (安装 启动 关闭 数据备份 还原)
- Linux远程备份工具Rsync使用案例
- Linux其他常见压缩备份工具 - dd,cpio
- linux下的数据备份工具rsync讲解
- Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区
- 使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例
- 使用DD备份linux系统
- Xtrabackup使用指南 InnoDB数据备份工具
- 使用PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作
- windows和linux系统下数据传输工具——tftpd32使用说明
- Xtrabackup使用指南 InnoDB数据备份工具
- windows使用cwrsync同步备份数据到linux
- 如何使用Mondo救援故障恢复工具克隆和备份Linux系统
- Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区
- Linux 下mysqldump备份的数据使用vim打开乱码