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 các tệp trang web IIS (theo mặc định, các tệp trang 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 tin bằng công cụ sao lưu của bạn là đủ (bạn thậm chí 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 thư mục chia sẻ, 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 -vsscopy - Sao 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 này:
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 chia sẻ ở đị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')) ) }
- Cấu hình IIS sao lưu (cài đặt).
Bạn có thể sao lưu cấu hình IIS bằng appcmd tích hợp sẵn dụng cụ. 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\inetsrv
Hãy sao lưu cấu hình IIS:
appcmd add backup srv1-iis-backup-2022_03_10
BACKUP object srv1-iis-backup-2022_03_10 added
Appcmd tạo một thư mục trong thư mục sao lưu c:\ Windows \ system32 \ inetsrv \ với tên của bản sao lưu của bạn. Nó chứa các tệp sau:
- management.config
- applicationHost.config
- MBSchema.xml
- MetaBase.xml
- redirection.config
Nó vẫn để sao chép thư mục này vào thiết bị lưu trữ dự phòng.
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 MyBackup202203
Lệ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\backup
.
Khô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ừ một bản sao lưu vào cùng một máy chủ hoặc một máy chủ lưu trữ 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 \ backup) 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 backup
Bản sao lưu đã sao chép sẽ xuất hiện trong danh sách các 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 được khôi phục từ bản sao lưu srv1-iis-backup-2022_03_10 nghĩa là cấu hình IIS đã được khôi phục thành công.
/stop:true
tùy chọn buộc IIS dừng trước khi khôi phục.
Restore-WebConfiguration -Name srv1-iis-backup-2022_03_10
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 Trình quản lý IIS đượ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 2 phút một lần. Để xóa bản sao lưu trước đó, hãy chạy lệnh:
appcmd.exe delete backup BackupName
- Phải sử dụng cùng một phiên bản IIS 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,versionstring
Trong 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ừ tài khoản tích hợp, 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 cách sử dụng msdeploy gói (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 qua webdeploy, 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.zip
Bạ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.zip
Hoặ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