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