即使你不是Web管理員,了解如何做IIS備份也很重要。微軟服務(wù)器產(chǎn)品,如Exchange Server、SharePoint,都是運(yùn)行在互聯(lián)網(wǎng)信息服務(wù)(IIS)之上的。許多第三方廠商也將IIS作為Web接口。因此,備份系統(tǒng)管理員需要了解如何保護(hù)IIS以及如何在遇到故障時恢復(fù)所有或部分主機(jī)站點(diǎn)。
IIS備份:你需要備份什么?
要保護(hù)IIS,需要備份三個主要組件。首先,你需要備份網(wǎng)站的基本代碼,就是用戶訪問的Web服務(wù)器上的HTML、ASP或其他語言的代碼。
其次是備份IIS配置。在IIS 6中,配置信息存放在metabase。在IIS 7中,微軟改用XML的格式存放IIS配置信息。我將在后面討論XML配置文件。
第三是備份數(shù)據(jù)庫。不是所有網(wǎng)站都使用數(shù)據(jù)庫,但大部分網(wǎng)站都使用后端數(shù)據(jù)庫存放不同類型的數(shù)據(jù)。所以要保護(hù)IIS,了解哪些站點(diǎn)使用數(shù)據(jù)庫以及數(shù)據(jù)庫的位置是很重要的。
保護(hù)Web站點(diǎn)文件
不必為了保護(hù)組成網(wǎng)站的各類文件而太過擔(dān)心。通常,每個基于IIS服務(wù)器的主機(jī)站點(diǎn)會被配置為將站點(diǎn)的文件存儲在服務(wù)器硬盤里的一個專用文件夾里。HTML文件、ASP.net文件和其他網(wǎng)站使用的組件是相對靜態(tài)的。因此,文件級的備份對于備份網(wǎng)站代碼來說通常是足夠的。
保護(hù)數(shù)據(jù)庫
不是所有網(wǎng)站都使用后端數(shù)據(jù)庫,但基于IIS并且使用數(shù)據(jù)庫的站點(diǎn)通常使用微軟SQL Server。如果你的IIS服務(wù)器包含一個SQL Server,或者它連接到一個后端專用的SQL Server數(shù)據(jù)庫,你可以像備份任意SQL數(shù)據(jù)庫那樣來備份你的數(shù)據(jù)庫。Windows Server Backup支持創(chuàng)建SQL Server的VSS備份,就像大部分第三方備份軟件所能做到的那樣。
保護(hù)IIS配置
正如你所看到的,保護(hù)網(wǎng)站文件和任何后端數(shù)據(jù)庫都非常簡單。而要保護(hù)IIS 7的配置,你需要熟悉基本的配置架構(gòu)。有三個重要文件用于存放IIS配置信息:
ApplicationHost.config存放網(wǎng)站和Web應(yīng)用的設(shè)置信息。
Administration.config存放IIS管理設(shè)置。這個文件包含一個IIS Manager使用的管理模塊列表和一些模塊的特殊設(shè)置。
Redirection.config被設(shè)計(jì)用于在多IIS服務(wù)器的環(huán)境中保持IIS配置設(shè)置一致。這個文件會告訴IIS集中的配置文件的位置。
這些配置文件存放在服務(wù)器的\Windows\System32\inetsrv\config文件夾。因?yàn)樗械呐渲梦募际腔赬ML的,所以在備份IIS配置時不會有任何特殊的注意事項(xiàng),你只需備份這個文件夾和所有子文件夾即可。
值得一提的是,IIS允許你單獨(dú)創(chuàng)建配置備份,不需要依賴其他備份軟件。這個備份基于一個叫做Appcmd的內(nèi)置工具。你可以在服務(wù)器的\Windows\System32\inetsrv文件夾找到Appcmd。如果你想使用Appcmd來備份你的配置,只需要到\Windows\System32\inetsrv文件夾去運(yùn)行下面這條命令:
Appcmd add backup “<your backup name>”
如果你想從備份中恢復(fù),你需要使用下面這條命令:
Appcmd restore backup “<your backup name>”
同樣值得一提的是,IIS 7會自動創(chuàng)建一些備份,IIS每兩分鐘會檢查配置是否已經(jīng)被修改。如果配置已經(jīng)被修改,則IIS會創(chuàng)建一個新配置的快照。IIS存放最多10個配置快照,這樣就可以在需要時將服務(wù)器恢復(fù)到之前的配置。
所有的配置快照都存放在\Windows\System32\Inetpub\history文件夾。如果你想利用快照還原,只需要到你想還原的快照所在的子文件夾,然后將ApplicationHost.config文件從快照所在的文件夾(名字是cfgHistory_NNNNNNNN)拷貝到\Windows\System32\inetsrv\config文件夾。
結(jié)論
IIS備份相對其他應(yīng)用程序來說相對簡單。不過,你依然需要確保完整的備份網(wǎng)站文件,如網(wǎng)站文件,配置數(shù)據(jù)和網(wǎng)站使用的后端數(shù)據(jù)庫。