前言
上一篇文章實作了資料庫的批量備份和還原,當然部署在服務器中的IIS站點備份也是一個十分繁瑣的事,三四個數量不多的還好,像有一些服務器用了許久,承載幾十個站點甚至更多,一個一個備份,再一個一個還原也是有苦說不出,下面我用dos命令寫了一個批量備份的腳本供大家參考,
開始
-
- 使用前準備和注意事項
- 備份IIS站點配置資訊,和IIS物理檔案路徑檔案
- 還原IIS站點資訊
- 總結
一、使用前準備和注意事項
- 執行此bat檔案時需要用到電腦中的壓縮軟體程式,需要知道安裝路徑,并且需要壓縮dos命令也需要知道,我這里用的時7-zip, 如圖本人電腦:

2.需要確認服務器中IIS 中的物理路徑中的檔案沒有重名的(當然很少出現)
二、備份IIS站點配置資訊,和IIS物理檔案路徑檔案
使用前記得替換前面三個檔案路徑和最后面那個回圈壓縮檔案的命令,直接貼代碼:
@echo off
rem --存放IIS站點的組態檔資訊
set backUpFile=C:\myfile\IISfile\Setting
rem --存放IIS站點物理檔案壓縮
set compressFile=C:\myfile\IISfile\compress
rem --電腦中的壓縮檔案路徑
set compressionSoftwareFile=C:\"Program Files"\7-Zip\7z.exe
:SiteInfo
echo 正在備份IIS站點配置資訊·····
%windir%\system32\inetsrv\AppCmd.exe LIST APPPOOL /config /XML > %backUpFile%\poolappcmdexport.xml
%windir%\system32\inetsrv\AppCmd.exe LIST SITE /config /XML > %backUpFile%\iisappcmdexport.xml
echo IIS站點配置資訊備份完成·····
:GetphysicalPathInfo
echo 正在讀取站點檔案路徑資訊·····
findstr physicalPath %backUpFile%\iisappcmdexport.xml > %backUpFile%\physicalPathInfo.txt
:GetphysicalPath
@echo off&setlocal enabledelayedexpansion
set "word1=""
set "word2=""
(for /f "delims=" %%a in ('findstr "%word1%.*%word2%" "%backUpFile%\physicalPathInfo.txt"') do (
set "str=#%%a"
set "str=!str:%word1%=ж!"
set "str=!str:%word2%=ж!"
for /f "tokens=4 delims=ж" %%b in ("a!str!") do echo;%word1%%%b%word2%
))>"%backUpFile%\physicalPath.txt"
echo "physicalPath.txt生成成功,請按任意鍵開始備份壓縮"
pause
:Compress
@echo off
echo 開始壓縮
rem --獲取文本中檔案路徑
for /f %%i in ('type %backUpFile%\physicalPath.txt' ) do (
for %%a in (%%i) do (
rem --回圈壓縮檔案
%compressionSoftwareFile% a -r -mx3 -tzip %compressFile%\%%~ni %%i
echo %%~ni 壓縮完成
)
)
echo 備份完成!
pause
執行效果圖:


三、還原IIS站點資訊
簡單點 可以直接在cmd命令列中執行,不過也有可能會遇到問題,可能遇到站點Id沖突,或是應用程式池重復,因為你還原的時候大都不可能是在一臺新的服務器上操作,先貼代碼:
rem --應用程式池全部還原(poolappcmdexport.xml 上文有備份的檔案,上文改了如有修改,這里記得改)
%windir%\system32\inetsrv\AppCmd.exe ADD APPPOOL /IN < poolappcmdexport.xml
rem --網站配置全部還原(iisappcmdexport.xml 上文有備份的檔案,上文改了如有修改,這里記得改)
%windir%\system32\inetsrv\AppCmd.exe ADD SITE /IN < iisappcmdexport.xml
一般情況下這個需要洗掉,每個服務器初始化都會有這個站點,如果提示站點重復,可能還需要修改iisappcmdexport.xml檔案中對應的SITE.ID,id,還原之后,把之前壓縮的檔案解壓出來放到對應檔案,


四、總結
-
- 學習了dos命令
- 省去了大把時間來刷博客
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/373710.html
標籤:Windows
