系統(tǒng)自動(dòng)化管理_第1頁(yè)
系統(tǒng)自動(dòng)化管理_第2頁(yè)
系統(tǒng)自動(dòng)化管理_第3頁(yè)
系統(tǒng)自動(dòng)化管理_第4頁(yè)
系統(tǒng)自動(dòng)化管理_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Unix/Linux 系統(tǒng)自動(dòng)化管理:數(shù)據(jù)備份與同步篇程 燕, 軟件工程師, IBM程燕,IBM 中國(guó)軟件開發(fā)中心 HPC 部門的軟件工程師,主要從事集群系統(tǒng)管理軟件的相關(guān)研發(fā)工作。方 正, 軟件工程師, IBM方正, IBM 中國(guó)軟件開發(fā)中心 HPC 部門的軟件工程師,主要從事集群系統(tǒng)管理軟件的相關(guān)研發(fā)工作。簡(jiǎn)介: 本文是 Unix/Linux 系統(tǒng)管理自動(dòng)化系列中的一篇,主要講述如何實(shí)現(xiàn)自動(dòng)化備份與同步系統(tǒng)數(shù)據(jù)。查看本系列更多內(nèi)容標(biāo)記本文!發(fā)布日期: 2009 年 8 月 20 日 級(jí)別: 初級(jí) 訪問情況 726 次瀏覽 建議: 0

2、0;(添加評(píng)論) 平均分 (共 1 個(gè)評(píng)分 )前言數(shù)據(jù)是 Unix/Linux 系統(tǒng)中最重要的組成部分 , 但是數(shù)據(jù)的備份與同步卻是最容易被忽略的任務(wù)。通過定期的數(shù)據(jù)備份與同步,可以在磁盤出現(xiàn)故障時(shí),最大程度的降低數(shù)據(jù)損失。當(dāng)用戶誤操作導(dǎo)致數(shù)據(jù)損壞或者丟失時(shí),可以快速恢復(fù)。數(shù)據(jù)的備份不同于整個(gè)系統(tǒng)備份,將不同數(shù)據(jù)按照優(yōu)先級(jí)分類,根據(jù)用戶需求,備份重要文件。從而使數(shù)據(jù)獨(dú)立于操作系統(tǒng),降低備份成本與時(shí)間。不同的操作系統(tǒng)可能使用不同的數(shù)據(jù)備份方式,本文介紹了通用的 Unix/Linux 實(shí)用程序(tar 和 cpio),標(biāo)準(zhǔn)的 AIX 實(shí)用程序 (mksysb 和 backup),以及遠(yuǎn)程備份工具

3、rsync。確定備份策略在商業(yè)環(huán)境中,必須首先確定需要備份哪些文件以及備份所消耗的時(shí)間。如果備份過多的文件,會(huì)導(dǎo)致備份系統(tǒng)的成本過于龐大,從而帶來(lái)不必要的開支。如果沒有備份足夠的數(shù)據(jù),那么可能導(dǎo)致重要數(shù)據(jù)的丟失,反而帶來(lái)更大的損失。當(dāng)然,備份整個(gè)系統(tǒng)是簡(jiǎn)單易行的,但是通常這樣的備份是浪費(fèi)的且缺乏意義的。從減少備份系統(tǒng)的成本出發(fā),只有當(dāng)某些數(shù)據(jù)足夠重要,需要共享,才具有備份的必要?;緮?shù)據(jù)一般分為以下幾類:· 用戶數(shù)據(jù):所有的用戶數(shù)據(jù)以及用戶目錄,及私人文件等。 · 系統(tǒng)信息:系統(tǒng)用戶,組,密碼,主機(jī)列表等。 · 應(yīng)用程序:系統(tǒng)上啟動(dòng)的服務(wù),比如 web 應(yīng)用程序,

4、apache 等。 · 應(yīng)用程序的配置文件與數(shù)據(jù):針對(duì)不同的應(yīng)用程序,不同的配置參數(shù)和重要數(shù)據(jù)文件。 · 數(shù)據(jù)庫(kù):事實(shí)上數(shù)據(jù)庫(kù)可以單獨(dú)提供針對(duì)數(shù)據(jù)庫(kù)所有數(shù)據(jù)的備份與同步功能。 簡(jiǎn)單的數(shù)據(jù)備份是指一次性備份所有數(shù)據(jù),然后再備份上次備份之后所做的修改。第一次備份是指“完全備份”,后一次備份是“增量備份”。通常適用于個(gè)人或者小型網(wǎng)站。對(duì)于機(jī)構(gòu)或者大型網(wǎng)站來(lái)說,需要采用“多級(jí)備份”。將完全備份設(shè)定為 0 級(jí),增量備份的級(jí)別分別是 1,2,3 等。在每個(gè)增量備份級(jí)別上,可備份同級(jí)或上一級(jí)的上次備份以來(lái)的變動(dòng)。比如,如果我們有 1 0 盤磁帶,如果使用簡(jiǎn)單備份進(jìn)行日備份,則可恢復(fù)兩周內(nèi)

5、的數(shù)據(jù)。如果使用多級(jí)備份,例如:磁帶 12, 月備份,每月第一個(gè)星期五磁帶 36, 周備份,每周星期五(排除第一周)磁帶 710,日備份,每周星期一到四,則可以將備份歷史擴(kuò)展到兩個(gè)月。實(shí)用程序和命令tar 命令tar 命令是通用性較強(qiáng)的 Unix/Linux 歸檔命令。tar 將一個(gè)或多個(gè)文件和目錄打包為單個(gè)文件,并保持原始文件的大小、擁有者、權(quán)限、文件類型及其在文件系統(tǒng)層次結(jié)構(gòu)中的位置。tar 是磁帶存檔程序 (tape archive) 的首字母縮寫,是最易用的數(shù)據(jù)備份實(shí)用程序。表 1. tar 命令的常用參數(shù):參數(shù) 含義 -c 該參數(shù)會(huì)創(chuàng)建一個(gè)新的存檔 -v 該參數(shù)會(huì)列出每個(gè)處理的文件名

6、稱 -f 該參數(shù)會(huì)指定存檔或設(shè)備名稱 -z 該參數(shù)將用 gzip 對(duì)存檔進(jìn)行壓縮或解壓 -x 該參數(shù)將從存檔文件中提取一個(gè)或多個(gè)文件 要?jiǎng)?chuàng)建 /CriticalData 的存檔文件,使用: # tar -czvf /CriticalData/ 要恢復(fù)該目錄,使用: # tar -xzvf /CriticalData/ tar 在提取文件和較小的目錄方面表現(xiàn)不錯(cuò),如果要恢復(fù)文件系統(tǒng)和卷組,我們更傾向于選用 cpio, 或是使用專用性更強(qiáng)的 Linux/Unix 數(shù)據(jù)備份實(shí)用程序。cpio 命令cpio 與 tar 類似,是通用性較強(qiáng)的 Unix/Linux 歸檔命令。一般被用來(lái)備份和恢復(fù)文件及目

7、錄結(jié)構(gòu)。表 2. cpio 命令的常用參數(shù):參數(shù) 含義 -o 該參數(shù)會(huì)將數(shù)據(jù)拷貝到文件或設(shè)備中 -i 該參數(shù)會(huì)將數(shù)據(jù)從文件或設(shè)備中還原到系統(tǒng)中 -v 該參數(shù)會(huì)列出每個(gè)處理的文件名稱 -z 該參數(shù)會(huì)按需要建立目錄 -x 該參數(shù)會(huì)從標(biāo)準(zhǔn)輸入讀取文件路徑名稱,然后將這些文件復(fù)制到指定的目錄 -d 該參數(shù)會(huì)按需要建立目錄 -p 該參數(shù)會(huì)從標(biāo)準(zhǔn)輸入讀取文件路徑名稱,然后將這些文件復(fù)制到指定的目錄 -B 該參數(shù)會(huì)將 I/O block 增加到 5120bytes,默認(rèn)是 512bytes。加快數(shù)據(jù)備份速度 -m 該參數(shù)會(huì)保留時(shí)間屬性 -u 該參數(shù)自動(dòng)將較新的文件替換到較舊的文件 將 /CriticalDa

8、te 目錄和它的所有文件和子目錄建立存檔,使用: # find /CriticalData/ -depth | cpio -ov > backup.cpio 要恢復(fù)該目錄,使用: # cpio -ivdum <backup.cpio cpio 建立起來(lái)的歸檔文件包括文件頭和文件數(shù)據(jù)兩部分。文件頭包含了對(duì)應(yīng)文件的信息。如文件的 UID,GID,連接數(shù)以及文件大小等。其好處是可以保留硬連接,在恢復(fù)時(shí)默認(rèn)情況下保留時(shí)間戳,無(wú)文件名稱長(zhǎng)度的限制。mksysb 介紹IBM AIX 與其它的 Unix 系統(tǒng)相比 , 有兩個(gè)重要的特性: LVM (logical volume manager)

9、和 ODM (object database manager)。一般而言 , 用 cpio 或 tar 的指令亦可以備份 volume groups ,但并不能完全正確的備份完整的系統(tǒng)。利用 mksysb 來(lái)備份時(shí),可制作一個(gè)可開機(jī)的磁帶 , 并且可以正常的還原系統(tǒng)的 LVM 和 ODM。mksysb 備份一般用來(lái)在文件中或可啟動(dòng)磁帶上創(chuàng)建 rootvg 的可安裝鏡像。如果需要對(duì)用戶卷組進(jìn)行備份的話,可使用 savevg。mksysb 的格式包括:· 基本操作系統(tǒng)啟動(dòng)鏡像 · 基本操作系統(tǒng)安裝鏡像 · 虛擬目錄 (TOC) · rootvg 上的實(shí)際數(shù)據(jù)

10、 圖 1. mksysb 的格式mkinsttape 鏡像包括以下重要文件:· Tapeblksz 該文件包含運(yùn)行 mksysb 前設(shè)置的磁帶驅(qū)動(dòng)器的塊大小。 · bosinst.data 該文件指定目標(biāo)系統(tǒng)的需求以及基本操作系統(tǒng)安裝程序是怎樣運(yùn)行 · image.data 該文件包含安裝過程中實(shí)際安裝的鏡像的描述數(shù)據(jù)(文件大小、名稱、裝入點(diǎn)等)。 表 3. mksysb 命令的常用參數(shù):參數(shù) 含義 -e 該參數(shù)將不備份 /etc/exclude.rootvg 文件中定義的文件 -i 該參數(shù)將調(diào)用 mkszfile 命令自動(dòng)生成一個(gè)新的 image.data 文件

11、 -m 該參數(shù)將調(diào)用 mkszfile 命令生成映射文件 在運(yùn)行 mksysb 前,可以運(yùn)行 mksysb -i 命令來(lái)自動(dòng)生成一個(gè)新的 image.data 文件。虛擬 TOC 可以確保 mksysb 磁帶中包含的鏡像數(shù)與基本操作系統(tǒng)安裝磁帶中的鏡像數(shù)相同。最后,rootvg 數(shù)據(jù)包含用 mksysb 命令備份的實(shí)際數(shù)據(jù)。它實(shí)際上會(huì)使用 backup 命令保存 rootvg 中所有裝入的文件系統(tǒng)的內(nèi)容。如果對(duì)用戶卷組進(jìn)行備份的話,可使用下列的命令: # savevg -if /dev/rmt0 uservg 其中,-i 參數(shù)將調(diào)用 mkvgdata 命令;-f 參數(shù)將數(shù)據(jù)存儲(chǔ)到指定設(shè)備或文件

12、中。backup 介紹backup 是 AIX 系統(tǒng)提供的一種備份文件和文件系統(tǒng)的方法,其本身就可以支持增量備份和多級(jí)備份,不必借助其它方式,其好處在此不在贅述。表 4. backup 命令的常用參數(shù):參數(shù) 含義 -level 該參數(shù)指定備份級(jí)別(09), 默認(rèn)是 9 -i 該參數(shù)將按名稱備份整個(gè)文件系統(tǒng) -f 該參數(shù)將數(shù)據(jù)備份到指定設(shè)備中 -p 該參數(shù)在歸檔之前先打包或壓縮,且小于 2G 的文件。適用于不活動(dòng)的文件系統(tǒng) -q 該參數(shù)指可移動(dòng)介質(zhì)已準(zhǔn)備就緒 -u 該參數(shù)將用文件系統(tǒng)的原始設(shè)備名稱 , 時(shí)間日期以及備份級(jí)別來(lái)更新 /etc/dumpdates 文件 -v 該參數(shù)將在 backup

13、 時(shí)顯示附加信息 將 /CriticalDate 目錄和它的所有文件和子目錄備份到指定設(shè)備,使用: # find /CriticalDate -depth | backup -i -f /dev/rmt0 將-level 和 -u 參數(shù)結(jié)合,可以進(jìn)行多級(jí)和增量備份: # backup -0 -uf /dev/rmt0 /home rsync 介紹如果將數(shù)據(jù)備份與遠(yuǎn)程傳輸結(jié)合起來(lái),譬如 scp,就可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程備份。但通常的備份方法,都無(wú)法對(duì)本地和遠(yuǎn)程目錄中的內(nèi)容進(jìn)行同步。rsync(Remote Sync)是 Unix/Linux 系統(tǒng)下一款優(yōu)秀的數(shù)據(jù)備份與同步工具。它可以對(duì)文件集進(jìn)行同步

14、。然而更有價(jià)值的是,rsync 使用文件的增量,也就是說,它在網(wǎng)絡(luò)中僅發(fā)送兩個(gè)文件集合有區(qū)別的部分。這樣可以占用更少的帶寬,并且速度更快。rsync 的特性:· 能夠更新整個(gè)目錄樹和文件系統(tǒng) · 保持原文件的權(quán)限,時(shí)間,軟硬鏈接 · 安裝無(wú)需特殊權(quán)限 · 優(yōu)化的流程,文件傳輸速率高 · 可以通過直接的 socket 連接傳輸文件,或者選擇 rsh,ssh 等方式 · 支持匿名傳輸 表 5. rsync 命令的常用參數(shù):參數(shù) 含義 -a 該參數(shù)表示以遞歸方式傳輸文件,并保持所有文件屬性 -v 該參數(shù)顯示詳細(xì)的傳輸處理 -z 該參數(shù)對(duì)備份

15、的文件在傳輸時(shí)進(jìn)行壓縮處理 -P 該參數(shù)將顯示備份過程 如果在客戶端對(duì)服務(wù)器上的重要數(shù)據(jù)進(jìn)行備份的話,可使用下列的命令:清單 1. rsync 命令演示 #rsync avzP rsyncServer:CriticalData /Backup = This is Critical Data Server = receiving file list . 9 files to consider Location/ Location/Locationlist1 97164953 13% 1.11MB/s 0:08:57 706609152 100% 1.17MB/s 0:09:37 (xfer#1,

16、 to-check=5/9) Name/Name1 44 100% 0.16kB/s 0:00:00 (xfer#2, to-check=3/9) Name/Name2 22 100% 0.08kB/s 0:00:00 (xfer#3, to-check=2/9) Time/Monday 17 100% 0.06kB/s 0:00:00 (xfer#4, to-check=0/9) sent 32111 bytes received 497214837 bytes 847820.88 bytes/sec total size is 706609242 speedup is 1.42 首次傳輸過

17、程進(jìn)行完全備份,當(dāng)再次運(yùn)行該命令時(shí),rsync 將只傳輸數(shù)據(jù)的增量。從而完成增量備份。如果在客戶端對(duì)服務(wù)器上的重要數(shù)據(jù)進(jìn)行同步的話,可使用下列的命令: # rsync -avzP -delete rsyncServer:CriticalData /Backup 這里調(diào)用 -delete 選項(xiàng),表示客戶端上的數(shù)據(jù)要與服務(wù)器端完全一致,如果 /Backup 目錄中有服務(wù)器不存在的文件,則刪除。從而保持客戶端與服務(wù)器的數(shù)據(jù)同步。注意:謹(jǐn)慎使用 -delete 選項(xiàng),最好不要把已經(jīng)有重要數(shù)所據(jù)的目錄當(dāng)做客戶端的備份目錄,否則會(huì)誤刪除重要數(shù)據(jù)。如果用客戶端的備份數(shù)據(jù)去恢復(fù)服務(wù)器,可使用下列的命令: #r

18、sync avzPO /Backup/ rsyncServer:CriticalData 這里需要將 rsync.conf 中 read only 設(shè)置為 false,同時(shí)使 /CirticalData 目錄具有寫權(quán)限。注意:也可調(diào)用 -delete 選項(xiàng)來(lái)保持客戶端與服務(wù)器端的數(shù)據(jù)同步。在后面,將詳細(xì)介紹 rsync.conf 的配置。-O 參數(shù)用于忽略目錄的時(shí)間屬性。數(shù)據(jù)備份與同步的自動(dòng)化實(shí)現(xiàn)系統(tǒng)管理員必須執(zhí)行的數(shù)據(jù)備份與同步任務(wù)大多牽涉到某種形式的系統(tǒng)配置,當(dāng)管轄的任務(wù)比較龐大,數(shù)據(jù)量較多,但操作一樣且有固定周期時(shí),采用自動(dòng)化腳本就成為必然。尤其是為多個(gè)操作系統(tǒng)提供支持時(shí)。要實(shí)現(xiàn)自動(dòng)化操

19、作,腳本編制是必須掌握的基本技能。一個(gè)腳本由一系列命令構(gòu)成,這些命令負(fù)責(zé)執(zhí)行各種各樣的任務(wù)。系統(tǒng)管理員在重復(fù)執(zhí)行了幾遍類似的命令后,通常就能準(zhǔn)確地掌握要點(diǎn),并希望利用腳本,將重復(fù)性的工作交給計(jì)算機(jī)去做。常用的腳本語(yǔ)言有 Shell,Perl,Tcl/Expect 等。實(shí)用命令的自動(dòng)化實(shí)現(xiàn)本文的示例主要是通過 Shell 來(lái)實(shí)現(xiàn)的。Shell 是一種“解釋性”語(yǔ)言,列出了管理員通過鍵盤敲入的相同命令, 并且每次執(zhí)行一次這樣的命令。例如執(zhí)行一條簡(jiǎn)單的 tar 命令,可以使用下面的一個(gè)簡(jiǎn)單的腳本。清單 2. tar 自動(dòng)化示例腳本 #!/bin/sh tar -czvf /CriticalData/

20、 如果我們想用其它的命令來(lái)實(shí)現(xiàn)數(shù)據(jù)備份,可以將以上的示例腳本中的命令部分替換掉,例如執(zhí)行一條簡(jiǎn)單的 cpio 命令,可替換為下面一個(gè)簡(jiǎn)單的腳本。清單 3. mksysb 自動(dòng)化示例腳本 #!/bin/sh find /CriticalData/ -depth | cpio -ov > backup.cpio 事實(shí)上我們可以通過 shell 中一些變量設(shè)置,條件測(cè)試以及流程控制語(yǔ)句來(lái)實(shí)現(xiàn)不同的需求。例如,管理員希望能夠在周一到周日,通過 backup 命令做多級(jí)備份。我們可以設(shè)置 Level 變量,當(dāng)變量滿足不同條件時(shí),就可以實(shí)現(xiàn)多級(jí)備份。清單 4. backup 自動(dòng)化示例腳本 #!/b

21、in/sh / 判讀當(dāng)前系統(tǒng)的日期是星期幾 DATE=date | awk ' printf $1 ' case $DATE in Mon) LEVEL=1; Tue) LEVEL=2; Wed) LEVEL=3; Thu) LEVEL=4; Fri) LEVEL=5; Sat) LEVEL=6; Sun) LEVEL=7; esac / 備份命令 backup -$LEVEL -uf /dev/rmt0 /home 雖然各種實(shí)用程序和命令以及參數(shù)各不相同,但 shell 自動(dòng)化腳本的基本思路是類似的。如果系統(tǒng)管理員需要連續(xù)地定期地執(zhí)行腳本,可以借助 Unix/Linux 系統(tǒng)

22、的 crontab 功能。rsync 的自動(dòng)化實(shí)現(xiàn)由于 rsync 在數(shù)據(jù)備份與同步上的優(yōu)秀表現(xiàn),本文將主要介紹用 rsync 來(lái)實(shí)現(xiàn)數(shù)據(jù)的備份與同步。要使用 rsync,只需要將主服務(wù)器安裝并配置成為 rsync 服務(wù)器,將另外一臺(tái)裝有 rsync 的機(jī)器作為備份客戶端。在對(duì) rsync 服務(wù)器配置結(jié)束以后,就可以在客戶端發(fā)出 rsync 命令來(lái)實(shí)現(xiàn)將服務(wù)器端的文件備份到客戶端來(lái)。在客戶端創(chuàng)建自動(dòng)化腳本,并啟用 cron 服務(wù),就可以定期對(duì)主服務(wù)器的數(shù)據(jù)進(jìn)行自動(dòng)備份與同步。1. 在服務(wù)器端手動(dòng)創(chuàng)建 rsync 配置文件 創(chuàng)建 rsync.conf 作為服務(wù)器配置文件假設(shè)我們?cè)诜?wù)器端,設(shè)置需

23、要備份的目錄 /CriticalData, 但不需要備份 /CriticalData 目錄下的 Common 目錄。先創(chuàng)建一個(gè)目錄,用于存放 rsync 相關(guān)配置文件 # mkdir /etc/rsyncd 創(chuàng)建 rsync.conf #touch /etc/rsyncd/rsyncd.conf 編輯 rsyncd.conf清單 5.rsyncd.conf 配置文件清單 5.rsyncd.conf 配置文件 gid = users read only = trueuse chroot = truetransfer logging = truelog format = %h %o %f %l %

24、blog file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidsecrets file = /etc/rsyncd.secretsmax connections = 5timeout = 300motd file = /etc/rsyncd/rsyncd.motdCriticalDatapath = /CriticalData list = trueignore errors comment =This is Critical Dataauth users = rsync secrets file = /etc/rsyncd/rsyn

25、cd.secretsexclude = Common/ rsync.conf 中主要分為全局變量和模塊兩部分。模塊用 表示,模塊之前的為全局變量。重要參數(shù)說明:path指定該模塊所定義的備份目錄的路徑,該參數(shù)是必須指定的。exclude用來(lái)指定多個(gè)由空格隔開的多個(gè)文件或目錄 ( 相對(duì)路徑 ),并將其添加到 exclude 列表中。這等同于在客戶端命令中使用 -exclude 參數(shù)。一個(gè)模塊只能指定一個(gè) exclude 選項(xiàng)。但是需要注意的一點(diǎn)是該選項(xiàng)有一定的安全性問題,客戶端很有可能繞過 exclude 列表,如果希望確保特定的文件不能被訪問,那就最好結(jié)合 uid/gid 選項(xiàng)一起使用。aut

26、h users該選項(xiàng)指定由空格或逗號(hào)分隔的用戶名列表,只有這些用戶才允許連接該模塊。這里的用戶不一定是客戶端存在的用戶。如果"auth users"被設(shè)置,那么客戶端發(fā)出對(duì)該模塊的連接請(qǐng)求時(shí),需要對(duì)用戶身份進(jìn)行驗(yàn)證。用戶的名和密碼以明文方式存放在"secrets file"選項(xiàng)指定的文件中。默認(rèn)情況下無(wú)需密碼就可以連接模塊 ( 也就是匿名方式 )。創(chuàng)建 rsync.secrets 作為用戶密碼文件 #touch /etc/rsyncd/rsyncd.secrets #chmod 600 /etc/rsyncd/rsyncd.secrets 編輯 rsyn

27、cd.secrets, 格式為“用戶 : 密碼” rsync:passwd 注意:rsync是服務(wù)器上存在的用戶,同時(shí)將/CriticalData的使用者改為rsync #chown -R rsync /CriticalData/ 創(chuàng)建 rsync.motd 作為登錄消息文件此文件是選擇性配置文件,也可以不創(chuàng)建。 #touch /etc/rsyncd/rsyncd.motd 編輯 rsyncd.conf =This is Critical Data Server= 2. 啟動(dòng) rsync 將 rsync 啟動(dòng) #/usr/bin/rsync -daemon -config=/etc/rsync

28、d/rsyncd.conf 可以將這個(gè)命令寫入 /etc/rc.d/rc.local 中,當(dāng)系統(tǒng)啟動(dòng)時(shí),自動(dòng)運(yùn)行 rsync。3. 創(chuàng)建腳本 在客戶端創(chuàng)建一個(gè) /root/rsync/ 目錄用來(lái)存放自動(dòng)化腳本和其它文件。創(chuàng)建 /root/rsync/rsync.sh 自動(dòng)化腳本,保證權(quán)限為 755。清單 6. rsync 自動(dòng)化示例腳本 #!/bin/sh export RSYNC_PASSWORD=passwd export PATH=$PATH:/bin:/usr/bin:/usr/local/bin / 設(shè)置遠(yuǎn)程服務(wù)器與需要備份的目錄 SERVER=rsyncServer DIR=Cri

29、ticalData / 設(shè)置客戶端上的用于備份的目錄 BDIR=/Backup BASE=Current INCREMENTDIR=date +%Y-%m-%d / 在客戶端靈活使用 exclude 功能;設(shè)置日志 EXCLUDES=/root/rsync/excludes LOG=/tmp/rsync.log / 參數(shù)設(shè)置,調(diào)用 backup-dir 將服務(wù)器端的增量文件存儲(chǔ)到 INCREMENTDIR 目錄下 OPTS="-avz-force -delete -delete-excluded -exclude-from=$EXCLUDES -b -backup-dir=$BDIR

30、/$INCREMENTDIR -ignore-errors" / 確??蛻舳松系挠糜趥浞莸哪夸洿嬖?install -d $BDIR/$BASE / 實(shí)現(xiàn)數(shù)據(jù)備份與同步,將日志郵寄給 root 用戶 run_rsync() echo "=Begin rsync: date=" >>$LOG 2>&1 du -s $BDIR/* >>$LOG 2>&1 rsync $OPTS $SERVER:$DIR $BDIR/$BASE >>$LOG 2>&1 echo "=End rsyn

31、c: date=" >>$LOG 2>&1 mail root -s "Backup Report" < $LOG rm $LOG / 條件測(cè)試,運(yùn)行程序 if -f $EXCLUDES ; then if -d $BDIR ; then run_rsync else echo "cant find $BDIR" exit fi else echo "cant find $EXCLUDES" exit fi 執(zhí)行完 rsync.sh 后,可以查看 /Backup 目錄來(lái)檢查數(shù)據(jù)的正確性。將有兩種目錄,一個(gè)是 Current 目錄,用于存放當(dāng)前服務(wù)器端備份和同步后的數(shù)據(jù)。在腳本運(yùn)行過程中,進(jìn)行增量傳輸。另外還有一個(gè)類似于 2009-06-16 的目錄,用于存放已在服務(wù)器端刪除的增量數(shù)據(jù)。目錄的名稱將根據(jù)腳本執(zhí)行的日期定義。 # pwd /Backup # ls 2009-06-16 Current 4. 啟用 cron 服務(wù),實(shí)現(xiàn)定期自動(dòng)備份 如果系統(tǒng)管理員需要連續(xù)地定期地執(zhí)行腳本,那么就需要借助 Unix/Linux 系統(tǒng)的 crontab 功能,使系統(tǒng)可以定期地調(diào)用 rsync.sh 腳本。使用命令“crontab -e”編輯 crontab,添加一條類似于以下的項(xiàng): 0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論