天天看點

dd linux 根目錄,使用tar和dd或Linux系統備份

http://www.eepw.com.cn/article/201609/304198.htm

本文提供一個簡明常用的系統備份方法,使你可以迅速完成最常用最基本的備份工作。需要更詳細的可參考:鳥哥的LInux私房菜>第二十五章 Linux 浞莶呗

一、tar備份恢複系統

1 、備份

目前系統下,

# tar-czpv -f/media/.../backup_$(date +%Y-%m-%d)_img.tar.gz/--exclude=/media){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 linux 根目錄,使用tar和dd或Linux系統備份

二、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 僅追加比歸檔中副本更新的檔案