运用tar和dd或Linux体系备份
本文供给一个简明常用的体系备份办法,使你能够敏捷完结最常用最基本的备份作业。需求更具体的可参阅:鸟哥的LInux私房菜>第二十五章 Linux 浞莶呗
一、tar备份康复体系
1 、备份
当时体系下,
# tar-czpv -f/media/…/backup_$(date +%Y-%m-%d)_img.tar.gz/–exclude=/media/*–exclude=/lost+found–exclude=/proc/*–exclude=/dev/*–exclude=/sys/*2>>/media/tar.errors.log
其间,–exclude= 参数列出了不需求备份的目录,能够依据实际状况自行调整,留意:不要忘掉备份/boot目录或分区,留意不要备份存储备份文件的目录。特别留意:–exclude=选项要放在后边备份存档名和备份方针后边,并且目录必定不能运用/xxx/的方式,有必要是/xxx/*或/xxx的方式。 别的,主张运用 2>> 将过错输出定向到 tar.errors.log文件,留下备份后查看有无过错。
【留意!】 -f –指定archive或设备称号。这个选项其实是必选的!并且这个参数后边要紧跟文件名,不能再有其它参数。-p选项这儿或许不需求,好像只对解压时起效果,见后边的tar –help。
【留意!】备份有时提示:“ …疏忽套接字(socket)” 。socketn案是用程式c用程式贤ㄋ运用的前言,pipe亦同理,K非H碛匈Y料的n案,所以o浞荨
2、tar指令查看备份文档:
tar tvf backip.tgz | grep -v’.{66,}’– 不显现其间每行字符数大于66个的行,其间“.”正则表达式中代表任何非换行符的字符。
tar tvf backip.tgz|grep ^d |egrep -v ‘(([^/])*/){3}’ — 只显现最初字符是d的行中不包含3个“/”的行。
3、复原
其它 Linux 体系或许 LiveCD/LiveUSB 下,
#mkfs.ext4 /dev/sda1 (这儿也或许是sdb5等。假设已经有格式化的分区,这部不需求做。留意,最好其设备号sdaX与要康复的体系原地点的设备号相同,不然/etc/fstab文件需求细心修改了)
#mount -v /dev/sda1 /mnt/myrootdir
#cd /mnt/myrootdir
#tarxpvf backup_…_.tar.gz (z选项默许会辨认,所以这儿被去掉了)
#sudo mkdir-pvhome sys proc dev usr/portage/distfiles
#chroot. (将/mnt/myrootdir作为当时进程的根目录,假设康复到的分区和备份文件地点分区不一致,或许会导致无法开机,这步和后边重装grub可防止此状况。chroot是在unix体系的一个操作,用于对当时的程序和它的子进程改动实在的磁盘根目录。一个被改动根目录的程序不能够拜访和命名在被改动根目录外的文件,那个根目录叫做“chroot监狱(chroot jail,chroot prison)”)
#/usr/grub-install –recheck /dev/sda (如前面是sdb5,这步也还或许是sda,由于chroot的效果)
# exit
能够敞开一个新的终端将挂载的目录umount
#umount -v /mnt/myrootdir
这步能够不做,直接关机,然后BIOS指定开机硬盘,开机即可。
3、其他摘抄
体系备份(留意千万要扫除存储备份文件本身的目录,这儿为backup):
#tar czvf /backup/root-backup.tgz / –exclude proc –exclude dev –exclude backup
用LiveCD开机,
备份:tar cjvf bak.tar.bz2 /path_to_bak
复原:tar xjvfpbak.tar.bz2
不会丢掉文件的任何信息
鸟哥来的截图:
二、dd备份康复体系
1、备份
用liveCD开机,
# ddif=/dev/sda1of=sda1.img.bak bs=4M(然后把disk1.bak这个备份文件cp到安全的当地)
2、复原
用liveCD开机,
# ddif=sda1.img.bakof=/dev/sda1
# e2fsck-f/dev/sda1
# resize2fs/dev/sda1
# e2fsck-f/dev/sda1
3、dd中的紧缩
dd对磁盘是极大的糟蹋,100G的硬盘只用1G,dd后的备份文件也是100G,这个能够经过紧缩处理。
1)备份:
# ddif=/dev/sda1|bzip2>sda1.img.bz2
2)复原:
#bzip2-dc sda1.img.bz2|ddof=/dev/sda1
#e2fsck-f/dev/sda1
#resize2fs/dev/sda1
#e2fsck-f/dev/sda1
4、One Idea: 运用dd给文件夹而非磁盘创立镜像
引证自
运用dd制造文件夹的img
du -sh originfile //先看看需求制造的源文件夹巨细,假设15M
dd if=/dev/zero of=new_img.img bs=1024 count=20000 //生成20M的文件
mkfs.ext3 new_img.img
mount new_img.img /mnt/new
cp originfile /mnt/new -R
umount /mnt/new// new_img.img文件里边就包含了originfile
三、附:ubuntu 中的tar协助信息
$ tar –version
tar (GNU tar) 1.23
Copyright (C) 2010 Free Software Foundation, Inc.
$ tar –help
用法: tar [选项…] [FILE]…
GNU ‘tar’
将许多文件一同保存至一个独自的磁带或磁盘归档,并能从归档中独自复原所需文件。
示例
tar -cf archive.tar foo bar # 从文件 foo 和 bar 创立归档文件
archive.tar。
tar -tvf archive.tar # 具体罗列归档文件 archive.tar
中的一切文件。
tar -xf archive.tar # 打开归档文件 archive.tar
中的一切文件。
主操作形式:
-A, –catenate, –concatenate 追加 tar 文件至归档
-c, –create 创立一个新归档
-d, –diff, –compare 找出归档和文件体系的差异
–delete 从归档(非磁带!)中删去
-r, –append 追加文件至归档结束
-t, –list 列出归档内容
–test-label 测验归档卷标并退出
-u, –update 仅追加比归档中副本更新的文件