當前位置:首頁 » 網頁前端 » ubuntu備份腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ubuntu備份腳本

發布時間: 2022-05-08 14:34:40

① ubuntu 重裝怎麼備份軟體

方式一:

1、在已經安裝和配置好的電腦上,不要刪除/var/cache/apt/archives目錄,執行下面的命令,生成當前安裝軟體的內容列表
dpkg -–get-selections | grep -v deinstall >
ubuntu.files
2、把ubuntu.files和archives目錄中的所有內容都cp到別的機器對應的目錄。
3、重裝完成後,配置sources.list,執行如下命令
sudo apt-get update
sudo apt-get dist-upgrade
dpkg -–set-selections <
ubuntu.files
sudo dselect
4、按提示,按下 i,然後全部回車即可。

方式二:

1、在重裝前要備份安裝軟體的列表,軟體源,用戶文件

1)備份已安裝軟體包列表

dpkg --get-selections >
/home/user/package.selections

2)備份Home下的用戶文件夾

如果已經將Home放在額外的分區,這一步就不必了,復制所有用戶文件夾下的所有內容到另外的分區,注意要包含隱藏文件(Ctrl+Hide)

3)備份軟體源列表,將/etc/apt/文件夾下的sources.list拷貝出來保存即可

2、新系統安裝後的恢復:

1)復制備份的Sources.list文件到新系統的/etc/apt/目錄,覆蓋原文件,並替換(Ctrl+H)文檔中的intrepid為jaunty。然後更新軟體源(sudo
apt-get update)。

2)重新下載安裝之前系統中的軟體(如果安裝的軟體數量比較多,可能會花費較長時間)

sudo dpkg --set-selections /home/package.selections
&& apt-get dselect-upgrade

3)最後將備份的主文件夾(/home/用戶名)粘貼並覆蓋現有主文件夾

用這個方法可以基本在不丟失現有系統和軟體設置的情況下使用全新的Ubuntu系統。

② 怎樣備份ubuntu,那些文件重要

我該如何備份我的Ubuntu系統呢?很簡單,就像你備份或壓縮其它東西一樣,使用TAR。和Windows不同,Linux不會限制root訪問任何東西,你可以把分區上的所有東西都扔到一個TAR文件里去!
備份第一步:打開一個終端,並運行 sudo su(回車後要求輸入密碼)
第二步:繼續在終端中輸入 cd /(注意中間有一個空格)
第三步:(開始備份系統)
在終端中輸入:
# tar cvpzf Ubuntu.tgz –exclude=/proc –exclude=/lost+found –exclude=/Ubuntu.tgz –exclude=/mnt –exclude=/sys /
讓我們來簡單看一下這個命令:
'tar' 是用來備份的程序
c - 新建一個備份文檔
v - 詳細模式, tar程序將在屏幕上實時輸出所有信息。
p - 保存許可,並應用到所有文件。
z - 採用『gzip』壓縮備份文件,以減小備份文件體積。
f - 說明備份文件存放的路徑, Ubuntu.tgz 是本例子中備份文件名。

③ 如何在ubuntu版本的linux系統命令行備份

在 使用Ubuntu之前,相信很多人都有過使用Windows系統的經歷。如果你備份過Windows系統,那麼你一定記憶猶新:首先需要找到一個備份工 具(通常都是私有軟體),然後重啟電腦進入備份工具提供的軟體環境,在這里備份或者恢復Windows系統。Norton G...

④ 如何備份ubuntu引導文件

一種簡單的方法:
注意此種方法只能在Ubuntu下操作!
首先確定你的grub正常,並能啟動linux
然後啟動到Ubuntu,如果你的是IDE硬碟
請運行:
sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
如果你硬碟的被識別為sda ,請運行
sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
然後你可以到/media找到linux.lnx這個文件
將它拷貝到你的win根目錄,一般是C:\然後重啟Win,修改根目錄下的boot.ini 文件。
在這個文件最後增加:
C:\linux.lnx=」Ubuntu"
OK,重啟,在啟動菜單中選擇Ubuntu即可。
把boot.ini和linux.lnx備份到其他盤中,當重裝系統後,恢復即可

當然,你也可以參考Ubuntu官方網站的指南: http://wiki.ubuntu.org.cn/Ubuntu%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F

⑤ ubuntu定時備份指定文件夾或指定文件

用 cron 服務:配置/etc/crontab文件。

⑥ ubuntu環境下怎麼備份

從命令行備份
使用 TAR 命令

此法適用於備份用戶的主文件夾。打開終端並輸入:

tar cvfz output input

使用 split 命令可以使壓縮好的鏡像分成小塊以便存入可移動設備。更多信息請參看: BackupYourSystem/TAR

使用 dd 命令創建磁碟鏡像

此法適用於備份整個磁碟。打開終端(在示例中要將 hda 替換成你需要備份的分區)創建磁碟鏡像

dd if=/dev/hda1 of=/home/hda1.bin

創建壓縮磁碟鏡像

dd if=/dev/hda1 | gzip > /home/hda1.bin.gz

我懷疑上述命令是否會產生遞歸壓縮,因為把壓縮文件放在了/home目錄下,壓縮硬碟時再壓縮自己,直至塞滿整個硬碟。我使用上述命令時只有十幾個G的數據壓縮了二十幾個G都沒停止備份 MBR(主引導記錄)

dd if=/dev/hda of=/home/hda.boot.mbr bs=512 count=1

恢復 MBR (從 Live CD)

dd if=/mnt/hda1/home/hda.boot.mbr of=/dev/hda bs=512 count=1

從一個磁碟備份到另一個磁碟

dd if=/dev/hda of=/dev/hdb conv=noerror,sync bs=4k

來看以下這個命令

dd -if /dev/hda1 > partitionimage.dd

此命令將備份 "/dev/hda1" (hda1上的第一個分區)。 整個磁碟(包括 MBR)可以作為一個輸入「文件」只用 /dev/hda 備份即可。使用以下命令進行恢復:

dd -if partitionimage.dd -of /dev/hda1

可以使用「回送設備」(loopback device)載入這個分區鏡像,使得在不破壞現有分區的情況下比較兩者的文件版本。

從桌面備份
使用 Simple Backup Suite

Simple Backup Suite 是在 Google Summer of Code 2005 創建的一個程序。你可以在熟悉的
GNOME 環境下選擇何時、何地、如何進行備份。 Simple Backup Suite also
也可以做增量備份。在創建初始備份後,只有修改過的文件才會被備份。

增量備份
rsync

Rsync 只更新更改過的文件,甚至只傳輸那些文件被更改過的部分。這能有效節省網路備份時的帶寬。安全起見,兩台機子間的傳輸是通過 SSH 完成的。Rsync在備份用戶主文件夾時表現出色。傳輸到遠程計算機的命令是:

sudo rsync --delete -azvv -e ssh /home [email protected]:./backupdirectory

-z 壓縮數據 --delete 刪除被備份系統上不存在的文件。或許你需要它,或許不需要。 -a 維持文件日期 (也可以用 -t),
遞歸進入子文件夾 (也可以用 -r), 僅復制軟連接本身 (也可以用 -l), 維持文件許可權 (也可以用 -p), 維持用戶組 (也可以用
-g), 維持文件所有權 (也可以用 -o), 維持設備文件屬性 (也可以用 -D). -vv 回顯rsync同步進程
了解更多開源相關,去LUPA社區看看吧。

⑦ ubuntu如何備份整個系統

很簡單, 你把/home保存了就可以了. 重裝系統以後把常用軟體安回來, 所有的設置基本都在, 很方便的. 一般沒必要想win那樣把整個系統都備份了, ubuntu安原生軟體很方便的, 手動安回來即可.

備份Ubuntu其實很簡單,Ubuntu系統不需要你重新啟動系統就可以對系統文件進行讀寫操作,所以,我們也就可以在系統正在運行中去備份系統了。也不需要什麼GHOST軟體,一個小小的tar壓縮就可以備份系統了。備份系統前,我們要先進行清理工作,把回收站里的垃圾清理掉吧。
下面是備份系統的方法:
然後打開終端,輸入以下命令:
1、成為根用戶: sudo su
2、轉到根目錄: cd /
然後,下面就是我用來備份我的系統的完整的命令:
tar -cvpzf /media/sda7/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /
接著,讓我們稍微解釋一下:
tar 是用來備份的程序
c - 新建一個備份文檔
v - 詳細模式, tar程序將在屏幕上實時輸出所有信息。
p - 保存許可,並應用到所有文件。
z - 採用『gzip』壓縮備份文件,以減小備份文件體積。
f - 說明備份文件存放的路徑, /media/sda7/backup.tgz 是本例子中備份文件名。這個備份文件備份的位置是其它分區,也就是原來的WIN分區中。因為我的根目錄的空間不足,所以只有備份在其它的地方了。來看看我們想要包含的目錄。我們不想備份所有的東西,因為有些目錄是沒有多大用處的。確認你不想包含的文件,否則您會得到一個很奇怪的結果。您也不必備份/mnt 目錄下的東西,除非您有其他分區掛在它下面或者你堅持要備份。您還必須確保沒有任何資源掛在 /media目錄下(比如,任何CD或者移動存儲介質).否則,剔除/media。
最後一個參數是我們想要保存的目錄. 我們想要保存所有的東西,使用 / 作為根目錄。

⑧ ubuntu 備份mp的問題

功能說明:備份文件系統。

語 法:mp [-cnu][-0123456789][-b <區塊大小>][-B <區塊數目>][-d <密度>][-f <設備名稱>][-h <層級>][-s <磁帶長度>][-T <日期>][目錄或文件系統] 或 mp [-wW]

補充說明:mp為備份工具程序,可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。

參 數:
-0123456789 備份的層級。
-b<區塊大小> 指定區塊的大小,單位為KB。
-B<區塊數目> 指定備份卷冊的區塊數目。
-c 修改備份磁帶預設的密度與容量。
-d<密度> 設置磁帶的密度。單位為BPI。
-f<設備名稱> 指定備份設備。
-h<層級> 當備份層級等於或大雨指定的層級時,將不備份用戶標示為"nomp"的文件。
-n 當備份工作需要管理員介入時,向所有"operator"群組中的使用者發出通知。
-s<磁帶長度> 備份磁帶的長度,單位為英尺。
-T<日期> 指定開始備份的時間與日期。
-u 備份完畢後,在/etc/mpdates中記錄備份的文件系統,層級,日期與時間等。
-w 與-W類似,但僅顯示需要備份的文件。
-W 顯示需要備份的文件及其最後一次備份的層級,時間與日期。

備份命令mp/還原命令restore

mp 可以執行類似 tar 的功能。然而, mp 傾向於考慮文件系統而不是個別的文件。下面是引自 mp 手冊文件中的內容:「mp 檢查 ext2 文件系統上的文件,並確定哪些文件需要備份。這些文件將出於安全保護而被復制到給定的磁碟、磁帶或其他存儲媒體上……大於輸出媒體容量的轉儲將被劃分到多個卷。在大多數媒體上,容量是通過一直寫入直至返回一個 end-of-media 標記來確定的。」

配合 mp 的程序是 restore ,它用於從轉儲映像還原文件。

restore 命令執行轉儲的逆向功能。可以首先還原文件系統的完全備份,而後續的增量備份可以在已還原的完全備份之上覆蓋。可以從完全或部分備份中還原單獨的文件或者目錄樹。

mp 和 restore 都能在網路上運行,因此您可以通過遠程設備進行備份或還原。 mp 和 restore 使用磁帶驅動器和提供廣泛選項的文件設備。然而,兩者都僅限用於 ext2 和 ext3 文件系統。如果使用的是 JFS、Reiser 或者其他文件系統,您將需要其他的實用工具,比如 tar 。

使用 mp 執行備份

使用 mp 執行備份是相當簡單的。下面的命令執行一個完全 Linux 備份,它把所有 ext2 和 ext3 文件系統備份到一個 SCSI 磁帶設備。

mp 0f /dev/nst0 /boot

mp 0f /dev/nst0 /

在這個例子中,系統中有兩個文件系統。一個用於 /boot,另一個用於 / ,這是常見的配置。它們必須在執行備份時單獨地引用。 /dev/nst0 引用第一個 SCSI 磁帶驅動器,不過是以非重繞的模式引用。這樣確保各個卷在磁帶上一個接一個地排列。

mp 的一個有趣特性是其內置的增量備份功能。在上面的例子中, 0 表示 0 級或基本級備份。這是完全系統備份,您要定期執行以保存整個系統。對於後續的備份,您可以使用其他數字(1-9)來代替 0,以改變備份級別。1 級備份會保存自從執行 0 級備份以來更改過的所有文件。2 級備份會保存自從執行 1 級備份以來更改過的所有文件,以此類推。使用 tar 和腳本可以執行相同的功能,但要求腳本創建人員提供一種機制來確定上次備份是何時執行的。 mp 具有它自己的機制,即它在執行備份時會輸出一個更新文件(/etc/mpupdates)。這個更新文件將在每次執行 0 級備份時被重設。後續級別的備份會保留它們的標記,直至執行另一次 0 級備份。如果您在執行基於磁帶的備份, mp 會自動跟蹤多個卷。

跳過文件

標記將被 mp 跳過的文件和目錄是可以做到的。實現此目的的命令是 chattr ,它改變 ext2 和 ext3 文件系統上的擴展屬性。

chattr +d <filename>

上面的命令向文件添加一個標記,讓 mp 在執行備份時跳過該文件。

使用 restore 來執行還原

要還原使用 mp 保存的信息,可以使用 restore 命令。像 tar 一樣, mp 能夠列出( -t )歸檔文件的內容,並與當前文件作比較( -C )。使用 mp 時必須小心的地方是還原數據。有兩種非常不同的還原方法,您必須使用正確的方法才能獲得可預測的結果。

重建 (-r)

記住,在設計 mp 時考慮得更多的是文件系統,而不是單獨的文件。因此,存在兩種不同的文件還原風格。要重建一個文件系統,可使用 -r 命令行開關。設計重建的目的是為了能在空文件系統上操作,並將它還原為已保存的狀態。在執行重建之前,您應該已經創建、格式化和裝載(mount)了該文件系統。不應該對包含文件的文件系統執行重建。

下面是使用上面執行的轉儲來執行完全重建的例子。

restore -rf /dev/nst0

上面這個命令需要針對要還原的每個文件系統分別執行。

在需要的時候,可以重復這個過程來添加增量備份。

提取 (-x)

如果需要使用單獨的文件而不是使用整個文件系統,您必須使用 -x 開關來提取它們。例如,要僅從我們的磁帶備份中提取 /etc 目錄,可使用以下命令:

restore -xf /dev/nst0 /etc

互動式還原 (-i)

restore 提供的另外一個特性是互動式模式。使用命令:

restore -if /dev/nst0

將把您置於互動式 shell 中,同時還顯示了包含在該歸檔文件中的項。鍵入「help」將會顯示一個命令列表。然後您就可以瀏覽並選擇希望提取的項。務必記住,您提取的任何文件都將進入當前目錄。

舉例說明:
mp命令是一個專門用來備份的工具。

[root@localhost frank]# mp -0 -u -f /dev/hda3 /home/frank/
DUMP: Date of this level 0 mp: Sat Nov 30 19:45:56 2002
DUMP: Dumping /dev/hda9 (/home/frank) to /dev/hda3
DUMP: Added inode 7 to exclude list (resize inode)
DUMP: Label: none
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 15492 tape blocks.
DUMP: Volume 1 started with block 1 at: Sat Nov 30 19:46:01 2002
DUMP: mping (Pass III) [directories]
DUMP: mping (Pass IV) [regular files]
DUMP: Closing /dev/hda3
DUMP: Volume 1 completed at: Sat Nov 30 19:46:13 2002
DUMP: Volume 1 15490 tape blocks (15.13MB)
DUMP: Volume 1 took 0:00:12
DUMP: Volume 1 transfer rate: 1290 kB/s
DUMP: 15490 tape blocks (15.13MB) on 1 volume(s)
DUMP: finished in 12 seconds, throughput 1290 kBytes/sec
DUMP: Date of this level 0 mp: Sat Nov 30 19:45:56 2002
DUMP: Date this mp completed: Sat Nov 30 19:46:13 2002
DUMP: Average transfer rate: 1290 kB/s
DUMP: DUMP IS DONE

-0 是備份的等級,從0-9,0以後都是更新備份的參數,一般常用的是0和9
-u 是將備份記錄寫入/etc/mpdates這個文件中

[root@localhost frank]# cat /etc/mpdates
/dev/hda9 0 Sat Nov 30 19:45:56 2002
/dev/hda9 9 Sat Nov 30 17:04:20 2002

注意,當你備份的目錄是一個子目錄,而不是一個分區的頂層目錄時-u參數
是不能使用的。

-f 是指定備份到那個文件,也可以指定一個設備文件,我在這里指定的就是一個分區

更新備份:

在0級別備份的基礎上,向/home/frank寫入一些新的文件,然後
umount /home/frank
mount /home/frank
注意如果不這樣做,不會將新寫入的文件備份進去的。

然後:

[root@localhost frank]# mp -9 -u -f /dev/hda3 /home/frank/
用restore tf /dev/hda3就會看到剛剛寫入的文件會出現在列表中。

restore命令是用來恢復備份的。
[root@localhost frank]# restore rf /dev/hda3 /home/frank

用restore命令來查看備份文件里的文件列表
[root@localhost frank]# restore ft /dev/hda3

⑨ ubuntu12.04做svn備份,定時運行perl腳本一直不成功,cron文件配置有問題嗎

把相對目錄改為絕對目錄

如./weekly_backup.pl改為/root/weekly_backup.pl


要注意perl腳本的許可權和歸屬,最好是加上perl執行位置如

/sbin/perl/root/weekly_backup.pl

⑩ 如何備份Ubuntu系統以在電腦出問題時及時恢

在 使用Ubuntu之前,相信很多人都有過使用Windows系統的經歷。如果你備份過Windows系統,那麼你一定記憶猶新:首先需要找到一個備份工 具(通常都是私有軟體),然後重啟電腦進入備份工具提供的軟體環境,在這里備份或者恢復Windows系統。Norton Ghost是備份Windows系統時經常使用的備份工具。 在備份Windows系統的時候你可能想過,我能不能把整個C盤都放到一個ZIP文件里去呢。這在Windows下是不可能的,因為在Windows中有很多文件在它們運行時是不允許拷貝或覆蓋的,因此你需要專門的備份工具對Windows系統進行特殊處理。 和 備份Windows系統不同,如果你要備份Ubuntu系統(或者其它任何Linux系統),你不再需要像Ghost這類備份工具。事實上,Ghost 這類備份工具對於Linux文件系統的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系統,如果你用它來備份Ext3文件系統,你可能會 丟失一些寶貴的數據。 1. 備份系統 我該如何備份我的Ubuntu系統呢?很簡單,就像你備份或壓縮其它東西一樣,使用TAR。和Windows不同,Linux不會限制root訪問任何東西,你可以把分區上的所有東西都扔到一個TAR文件里去! 首先成為root用戶: $ sudo su 然後進入文件系統的根目錄(當然,如果你不想備份整個文件系統,你也可以進入你想要備份的目錄,包括遠程目錄或者移動硬碟上的目錄): # cd / 下面是我用來備份系統的完整命令: # tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys / 讓我們來簡單看一下這個命令: 「tar」當然就是我們備份系統所使用的程序了。 「cvpfz」是tar的選項,意思是「創建檔案文件」、「保持許可權」(保留所有東西原來的許可權)、「使用gzip來減小文件尺寸」。 「backup.gz」是我們將要得到的檔案文件的文件名。 「/」是我們要備份的目錄,在這里是整個文件系統。 在 檔案文件名「backup.gz」和要備份的目錄名「/」之間給出了備份時必須排除在外的目錄。有些目錄是無用的,例如「/proc」、「/lost+ found」、「/sys」。當然,「backup.gz」這個檔案文件本身必須排除在外,否則你可能會得到一些超出常理的結果。如果不把「/mnt」排 除在外,那麼掛載在「/mnt」上的其它分區也會被備份。另外需要確認一下「/media」上沒有掛載任何東西(例如光碟、移動硬碟),如果有掛載東西, 必須把「/media」也排除在外。 有人可能會建議你把「/dev」目錄排除在外,但是我認為這樣做很不妥,具體原因這里就不討論了。 執行備份命令之前請再確認一下你所鍵入的命令是不是你想要的。執行備份命令可能需要一段不短的時間。 備份完成後,在文件系統的根目錄將生成一個名為「backup.tgz」的文件,它的尺寸有可能非常大。現在你可以把它燒錄到DVD上或者放到你認為安全的地方去。 在備份命令結束時你可能會看到這樣一個提示:』tar: Error exit delayed from previous errors』,多數情況下你可以忽略它。 你還可以用Bzip2來壓縮文件,Bzip2比gzip的壓縮率高,但是速度慢一些。如果壓縮率對你來說很重要,那麼你應該使用Bzip2,用「j」代替命令中的「z」,並且給檔案文件一個正確的擴展名「bz2」。完整的命令如下: # tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys / 2. 恢復系統 在進行恢復系統的操作時一定要小心!如果你不清楚自己在做什麼,那麼你有可能把重要的數據弄丟,請務必小心! 接著上面的例子。切換到root用戶,並把文件「backup.tgz」拷貝到分區的根目錄下。 在 Linux中有一件很美妙的事情,就是你可以在一個運行的系統中恢復系統,而不需要用boot-cd來專門引導。當然,如果你的系統已經掛掉不能啟動了, 你可以用Live CD來啟動,效果是一樣的。你還可以用一個命令把Linux系統中的所有文件幹掉,當然在這里我不打算給出這個命令! 使用下面的命令來恢復系統: # tar xvpfz backup.tgz -C / 如果你的檔案文件是使用Bzip2壓縮的,應該用: # tar xvpfj backup.tar.bz2 -C / 注意:上面的命令會用檔案文件中的文件覆蓋分區上的所有文件。 執行恢復命令之前請再確認一下你所鍵入的命令是不是你想要的,執行恢復命令可能需要一段不短的時間。 恢復命令結束時,你的工作還沒完成,別忘了重新創建那些在備份時被排除在外的目錄: # mkdir proc # mkdir lost+found # mkdir mnt # mkdir sys 等等 當你重啟電腦,你會發現一切東西恢復到你創建備份時的樣子了! Linux備份策略研究 世界上沒有絕對安全的系統。如果想獲得絕對安全的系統,只有不連接網路,不讓管理員之外的人使用,刷卡管制人員進出,使用監視器監視錄像,甚至於不 要開機。但是這是完全不切實際的,我們僅能寄望盡量讓系統能在承擔低風險的情況下工作,因為任何操作系統都不可能毫無漏洞。那麼怎樣才能讓系統承擔最低的 風險呢?回答因該是在保障系統盡量安全的基礎上,做好各個系統上的數據備份工作。一旦系統遭受到毀滅性的打擊,可將平時做好的備份數據及時恢復,這樣才能 使被破壞的系統迅速恢復正常,以避免不必要的損失。 下面針對Linux操作系統上的數據備份方法發表一下自己的看法。 數據備份種類 總的來說,在Linux操作系統中將備份分為兩類:系統備份,實現對操作系統和應用程序的備份;用戶備份,實現對用戶文件的備份。在下面我們會看到,系統備份和用戶備份是不同的。 系統備份 系統備份就是對操作系統和應用程序的備份,進行系統備份的原因是盡量在系統崩潰以後能快速簡單完全地恢復系統的運行。進行備份的最有效方法是僅僅備份那些對於系統崩潰後恢復所必需的數據。 Linux系統中很多重要的文件位於/etc目錄之下,如: /etc/group : 組用戶信息; /etc/passwd : 包含所有的用戶信息,如密碼,登錄shell等; /etc/fstab : 配置系統有哪些文件系統; /etc/inittab : 配置init在不同運行級別下分別如何啟動系統; /etc/hosts : 域名解析的配置信息; /etc/inetd.conf : 進程式控制制信息; /etc/printcap:配置如何與列印機通信; /etc/XF86Config:包含XFree86的初始配置; 上面這些重要的配置文件都需要定期的做備份。 不 同的系統可能有很多重要配置文件,可以看到/etc目錄下的配置文件非常重要。當然,某些程序使用了其他目錄下的一些文件,但是Linux的基本配置文件 絕大多數都位於/etc目錄下。很多人曾經花費了好長時間才正確的配置了XF86Config文件,想到如果重新再做一遍,就很費時費力。再舉個例子, /etc目錄下的passwd文件,如果誤操作,將此文件更改,或刪除了,則整個系統用戶無法正常登錄,如果定期或及時的對其備份,遇到上面的情況後,就 可以非常快速的恢復。 如果修改了某個程序所使用的配置文件,一般不能將其搬移到其它的地方,因為程序通常在固定的地方尋找配置文件。因此記錄對系統所做的修改也非常重要,無論所做的修改如何小,當系統崩潰時才能輕松的恢復系統。 用戶備份 用戶備份不同於系統備份,因為用戶的數據變動更加頻繁一些。當備份用戶數據時,只是為用戶提供一個虛擬的安全網路空間,合理的放置最近用戶數據文件的備份,當出現任何問題,例如,誤刪除某些文件或者硬碟發生故障時,用戶可以恢復自己的數據。 用戶備份應該比系統備份更加頻繁,也許每天都需要進行備份,或使用cron程序自動定期運行某個程序的方法來備份數據。 數據備份策略 不 管系統多麼可靠,總會發生一些意想不到的事情,致使系統數據丟失。因此使用備份來保護數據不丟失是一種非常重要的手段,尤其在系統數據非常重要的時候。經 常進行數據備份能夠減少偶然破壞造成的損失,保證系統能夠從錯誤中恢復正常運行。備份不應該成為一個長時間痛苦的事情,但它是作為系統管理必不可少的工 作,在著手之前進行詳細的考慮和計劃是應該的。 在進行備份之前,首先要選擇合適的備份策略,這將決定何時需要備份,以及出現故障時進行恢復的方式。通常使用的備份方式有三種: 完全備份: 每隔一定時間就對系統進行一次全面的備份,這樣在備份間隔期間出現數據丟失等問題,可以使用上一次的備份數據恢復到前次備份時數據狀況。這是最基本的備份 方式,但是每次都需要備份所有的數據,並且每次備份的工作量也很大,需要大量的備份介質,因此這種備份不能進行的太頻繁,只能每隔一段較長時間才進行一次 完整的備份。但是這樣一旦發生數據丟失,只能恢復到上次備份的數據,這期間內更新的數據就有可能丟失。 增量備份: 首先進行一次完全備份,然後每隔一個較短時間進行一次備份,但僅僅備份在這個期間更改的內容。當經過一個較長的時間後再重新進行一次完全備份,開始前面的 循環過程。由於只有每個備份周期進行一次完全備份,其他只進行更新數據的備份,因此工作量小,可以進行頻繁的備份。例如以一個月為一個周期,一個月進行一 次完全備份,每天晚上0點進行這一天改變的數據備份。這樣一旦發生數據丟失,首先恢復到前一個完全備份,然後按日期一個一個恢復每天的備份,就能恢復到前 一天的情況。這種備份方法比較經濟。 累計備份:這種備份方法與增量備份相似,首先每月進行一次完全備 份,然後每天進行一次更新數據的備份。但不同在於,增量備份是備份該天更改的數據,而累計備份是備份從上次進行完全備份後更改的全部數據文件。一旦發生數 據丟失,可以使用前一個完全備份恢復到前一個月的狀態,再使用前一個累計備份恢復到前一天的情況。這樣做的缺點是每次做累計備份工作的任務比增量備份的工 作量要大,但好處在於,增量備份每天都備份,因此要保存數據備份數量太多,而累計備份則不然,只需保存一個完全備份和一個累計備份就可以恢復故障以前的狀 態。另外在進行恢復工作時,增量備份要順序進行多次備份的恢復,而累計備份只需兩次恢復,因此它的恢復工作相對簡單。 增量備份和累計備份 都能以比較經濟的方式對系統進行備份,在這些不同的策略之間進行選擇不但與系統數據更新的方式相關,也依賴於管理員的習慣。通常在系統數據更新不是太頻繁 的話,可以選用更新備份的方式。但是如果系統數據更新太快,使每個備份周期後的幾次累計備份的數據量相當大。這時候可以考慮增量備份或混用累計備份和增量 備份的方式,或者縮短備份周期。 數據備份命令 在Linux系統中常用的備份命令通常有下面幾種: 1.使用tar命令 Linux的實用程序tar最初是為了製作磁帶存檔而設計的(把文件和目錄復制到磁帶中,然後從存檔中提取或恢復文件),而現在的應用中可以把它用於任何設備,它是數據備份中最常用的命令之一。 下面具體介紹tar命令的使用方法: (1)格式:tar 參數 ...... (2)參數: c: 創建備份(Create) v: 表示回顯模式(Verbose),將產生一系列備份的文件列表 f: 指定使用的備份文件,它後面的參數為輸出的備份文件名 x: 備份文件 t: 顯示備份文件的內容 T: 後面跟隨一個文件參數,指定從這個文件中讀取要備份的各個文件的路徑。如果不使用T參數,那麼就需要一個參數,指明進行備份文件和目錄的路徑 Z: 使用壓縮方式創建和解開備份文件,這是GNU的新版tar的功能,需要同時安裝gzip。 例如: $ tar cvf backup.tar /etc 上 面的命令將/etc下的所有文件打包成tar存檔文件backup.tar。tar的第一個參數「cvf」,是tar的命令參數,「c」告訴tar創建一 個存檔文件;「v」選項迫使tar採用冗長模式,即在存檔時列印每個文件名;「f」選項告訴tar下一個參數backup.tar是創建的存檔文件名。 下面一行的命令將tar文件backup.tar解開並放到當前工作目錄下。必須說明的是這樣做是有危險的,因為在從tar文件中解開文件時,舊文件將被覆蓋。 $ tar xvf backup.tar 在解開tar文件之前,知道在何處打開文件是非常重要的。例如,假設存檔以下文件:/etc/hosts,/etc/group和/etc/passwd。如果用下述命令: $ tar cvf backup.tar /etc/hosts /etc/group /etc/passwd 目錄/etc會被加到每個文件名前。為了將文件到正確位置,需要用下述命令: $ cd / $ tar xvf backup.tar 這是因為文件從存檔文件中抽取出路徑名,如果用下述命令存檔文件: $ cd /etc $ tar cvf hosts group passwd 這樣目錄名就不存在存檔文件中,因此需要在文件之前用「cd /etc」命令進入目錄etc。由此可見,tar文件的創建方式與在何處有很大關系。 命令: $ tar tvf backup.tar 在解開tar文件之前顯示tar文件的索引,用這種方式可以看到存檔文件中與文件名有關的目錄名,從而在正確位置上存檔文件。 2.gzip和compress 命令 與MS-DOS的存檔程序不同, tar在存檔過程中並不壓縮文件。因此,如果存儲兩個1MB的文件,那麼tar文件大小為2MB,gzip命令用來壓縮文件(被壓縮的文件並不需要是tar格式)。 例如: $ gzip -9 backup.tar 壓縮backup.tar文件,產生的文件為backup.tar.gz,開關「-9」告訴gzip用最高的壓縮比。gunzip命令用來解開一個gzip壓縮的文件,用「gzip -d」也可以達到同樣效果。 例如: $ gunzip backup.tar.gz $ gzip -d backup.tar.gz 3. 聯合使用 介紹了這些命令之後,我們來嘗試組合使用這些命令。為了壓縮存儲一組文件,可以用下述命令: $ tar cvf backup.tar /etc $ gzip -9 backup.tar 結果是形成文件backup.tar.gz。該文件時,用相反的命令: $ gunzip backup.tar.gz $ tar xvf backup.tar tar命令還包括「z」選擇項,它會自動採用gzip壓縮演算法來聯機壓縮/解壓文件。例如,下列命令: $ tar cvfz backup.tar.gz /etc 上面一行的命令等價於: $ tar cvf backup.tar /etc $ gzip backup.tar 而命令: $ tar xvfz backup.tar.Z 可以用來代替下述命令: $ uncompress backup.tar.Z $ tar xvf backup.tar 案例實驗 案例:使用tar進行備份。 選定了備份方式之後,可以使用tar、cpio、mp等備份工具軟體將數據備份到磁帶上。對於一般的備份,使用tar就足夠了。tar能夠創建備份文檔,能夠備份到磁帶上或者產生一個文件,如: $ tar cvf root.tar /root 將/root目錄下的所有文檔備份到root.tar文件中,root.tar為指定輸出的備份文件,/roo t指出要做備份的目錄。如果要備份到磁帶上,將輸出的備份文件指定為磁帶設備文件即可: $ tar cvf /dev/rmt/0h /root 如果設置了環境變數TAPE,則可以不使用選項「f」指定輸出磁帶設備名字: $ TAPE=/dev/rmt/0h; export TAPE $ tar cv /root 要進行增量備份,必須找出哪些文件在這個期間進行更新。這個任務可以由命令find來完成,例如查找過去七天更改的文件,並使用tar的「-T」參數制定進行備份的文件,命令如下: $ find / -mtime -7 -print > /tmp/filelist $ tar -c -T /tmp/filelist -f /dev/rmt/0h 由 於要使用find來找出需要備份的文件列表,那麼就需要利用文件的修改時間進行查詢,需要使用「-mtime」 參數。另一個更有用的參數是「-newer」,可以查找出所有比某個文件更新的文件,由於備份是周期進行的,因此可以在完全備份之後生成一個標記文件,那 么所有比這個文件新的文件都需要進行更新備份。 $ find / -newer full_back_tag_file -print > /tmp /filelist 進 行數據備份需要定期執行,不能完全依賴於管理員手工進行備份。備份也應該選擇在系統比較空閑時進行,以免影響系統的正常處理任務。通常可以選擇半夜 0:00點之後進行備份,這樣更不能將這個任務由管理員手工完成了。但Linux提供了定時服務cron程序,能夠在確定的時間中執行一系列任務,因此數 據備份必須和cron合作來完成,或者使用/etc下的daily,weekly,monthly文件做定時備份的操作。