IIS Backup & Restore Sites & Application Pools 備份與還原 IIS 站台與應用程式集區
2023-02-10
筆記如何透過 appcmd 備份與還原 IIS 的站台以及應用程式集區設定,從而實現優雅地站台遷移以及毀損還原的作業 😏
說明
Backup Application Pools & Sites
%windir%\system32\inetsrv\appcmd list apppool /config /xml > D:\Apps.xml
%windir%\system32\inetsrv\appcmd list site /config /xml > D:\Sites.xml
Restore Application Pools & Sites
%windir%\system32\inetsrv\appcmd add apppool /in < D:\Apps.xml
%windir%\system32\inetsrv\appcmd add site /in < D:\Sites.xml
在還原時可能會發生集區已經存在的問題,可以前往下列路徑,手工預先移除 %systemroot%\system32\inetsrv\config\applicationHost.config。
另外要注意恢復集區之後,部分集區的 .NET CLR 版本可能會變成「沒有受控碼」,必須要手動修正為原本來源伺服器的設定。
Copy Files And ACLs
遠端伺服器需要以 UNC 的方式進行複製
robocopy \\server1\share1 \\server2\share2
/COPY:DATSOU /DCOPY:T /E /Z /S /USER:remote_user /PASSWORD:remote_password
Option
/E
包含空資料夾
/Z
Restartable Mode
/S
包含子資料夾
/COPY:DATSOU
複製包含 ACLs
/DCOPY:T
複製時間戳記
/USER
遠端 UNC 帳號
/PASSWORD
遠端 UNC 密碼
參考資料
注意 Windows 對於檔案複製與搬移的 NTFS 權限變化 [重要] | Will 保哥
移動服務所需的檔案時應連帶複製完整的 NTFS ACLs 資訊 | Will 保哥