Cách sao lưu và khôi phục trang web và cấu hình IIS
Trong bài viết này, chúng ta sẽ xem xét cách sao lưu trang web, nhóm ứng dụng và cấu hình máy chủ web IIS trên Windows Server. Bạn có thể sử dụng bản sao lưu Dịch vụ thông tin Internet để khôi phục trang web trong trường hợp máy chủ lưu trữ bị lỗi hoặc nếu bạn di chuyển/di chuyển trang web (và/hoặc cấu hình IIS) sang máy chủ khác.
Sao lưu IIS trên Windows Server
Sao lưu dữ liệu và cấu hình của các trang web đang chạy trên máy chủ web Dịch vụ Thông tin Internet bao gồm một số bước:
Sao lưu tệp trang web IIS (theo mặc định, tệp trang web IIS được lưu trữ trong
%SystemDrive%\inetpub\wwwroot). Thư mục này phải được bao gồm trong kế hoạch sao lưu. Chỉ cần sao chép tất cả các tệp bằng công cụ sao lưu của bạn (thậm chí bạn có thể sử dụng Windows Server Backup tích hợp sẵn -> chọn thư mục inetpub để sao lưu) hoặc các tập lệnh BAT/PowerShell đơn giản. Ví dụ: để cài đặt WSB và sao lưu thư mục inetpub\wwwroot vào một thư mục dùng chung, hãy sử dụng các lệnh sau:
# Install the Windows server feature using PowerShell; Install-WindowsFeature -Name Windows-Server-Backup # backup IIS website static files wbadmin start backup -backupTarget:\\srv-backup1\backup -include:c:\inetpub\wwwroot -vsscopySao lưu (xuất) chứng chỉ IIS hiện tại (bạn có thể lấy danh sách chứng chỉ SSL trên máy chủ bằng lệnh sau:
netsh http show sslcert) Bạn có thể sử dụng PowerShell để sao lưu chứng chỉ vào thư mục mạng dùng chung ở định dạng PFX (Trao đổi thông tin cá nhân):
dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\\srv-backup1\backup\$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) }Sao lưu cấu hình IIS (cài đặt).
Bạn có thể sao lưu cấu hình IIS bằng công cụ appcmd tích hợp sẵn. Mở dấu nhắc lệnh với tư cách quản trị viên và thay đổi thư mục:
cd c:\Windows\system32\inetsrvHãy sao lưu cấu hình IIS:
appcmd add backup srv1-iis-backup-2022_03_10BACKUP object srv1-iis-backup-2022_03_10 addedAppcmd tạo một thư mục trong thư mục c:\Windows\system32\inetsrv ackup với tên bản sao lưu của bạn. Nó chứa các tập tin sau:
quản trị.config
ứng dụngHost.config
MBSchema.xml
-
MetaBase.xml
chuyển hướng.config
Nó vẫn còn để sao chép thư mục này vào thiết bị lưu trữ sao lưu.
Trên Windows Server 2019/2016, bạn có thể sử dụng lệnh ghép ngắn PowerShell tích hợp để sao lưu IIS thay vì appcmd:
Backup-WebConfiguration -Name MyBackup202203Lệnh ghép ngắn này cũng xuất các cài đặt IIS hiện tại sang
$env:Windir\System32\inetsrv\backupKhôi phục cấu hình IIS trên máy chủ Windows Server khác
Bạn có thể khôi phục cấu hình IIS của mình từ bản sao lưu vào cùng một máy chủ hoặc đến một máy chủ khác. Giả sử bạn cần khôi phục cấu hình IIS trên một máy chủ Windows Server khác.
Sao chép thư mục sao lưu IIS vào cùng một thư mục (c:\windows\system32 ackup) trên máy chủ đích.
Để hiển thị danh sách tất cả các bản sao lưu cấu hình IIS có sẵn, hãy chạy lệnh:
appcmd list backupBản sao lưu được sao chép sẽ xuất hiện trong danh sách những bản có sẵn. Khôi phục cấu hình IIS từ bản sao lưu:
appcmd restore backup /stop:true srv1-iis-backup-2022_03_10
“Cấu hình đã khôi phục từ bản sao lưu srv1-iis-backup-2022_03_10 có nghĩa là cấu hình IIS đã được khôi phục thành công.
Cái này
/stop:truetùy chọn buộc IIS dừng trước khi khôi phục.
Restore-WebConfiguration -Name srv1-iis-backup-2022_03_10Lưu ý. Có những mục như
BACKUP “CFGHISTORY_0000000001”trong danh sách các bản sao lưu có sẵn. Đây là các bản sao lưu cấu hình IIS được tạo tự động và nằm trong thư mục \inetpub\history. Các tính năng sao lưu tự động đã xuất hiện trong IIS 7+: các thay đổi đối với ApplicationHost.config được thực hiện thông qua IIS Manager được theo dõi, 10 bản sao lưu mới nhất được lưu trữ và tệp được kiểm tra các thay đổi cứ sau 2 phút.
Để xóa bản sao lưu trước đó, hãy chạy lệnh:
appcmd.exe delete backup BackupNameLưu ý. Danh sách các hạn chế quan trọng và các điểm chính:
Phiên bản IIS giống nhau phải được sử dụng trên cả hai máy chủ. Bạn có thể kiểm tra phiên bản IIS của mình trong sổ đăng ký bằng PowerShell:
get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstringTrong trường hợp của tôi, đây là IIS 10.0
Nếu nhóm ứng dụng IIS không chạy từ các tài khoản tích hợp sẵn, chúng phải có sẵn trên máy chủ IIS đích.
Trước khi khôi phục IIS, bạn phải nhập bất kỳ chứng chỉ SSL nào bạn sử dụng vào máy chủ mới.
Bạn cũng có thể sao lưu máy chủ web IIS của mình bằng gói msdeploy (Công cụ triển khai web). Tải xuống và cài đặt gói msdeploy trên máy chủ IIS của bạn và trên máy chủ dự phòng đích (https://www.microsoft.com/en-us/download/details.aspx?id=43717).
Để tạo bản sao lưu IIS (với tất cả các trang nếu nhiều trang đang chạy trên IIS) vào máy chủ Windows từ xa 192.168.100.112 thông qua triển khai web, có thể sử dụng lệnh sau:
msdeploy -verb:sync -source:webServer,computername=192.168.100.112 dest:package=c:\Backup\IIS\server1_iis_backup.zipBạn cũng có thể sao lưu một trang web IIS riêng lẻ:
msdeploy -verb:sync -source:contentPath="site_name.com",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name.zipHoặc chỉ sao chép các tệp trang web tĩnh từ thư mục được chỉ định:
msdeploy -verb:sync -source:dirPath="c:\inetpub\wwwroot\site_name",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name_static_files.zip



