এই নিবন্ধে, আমরা উইন্ডোজ সার্ভারে ওয়েবসাইট, অ্যাপ্লিকেশন পুল এবং আইআইএস ওয়েব সার্ভার কনফিগারেশন কীভাবে ব্যাকআপ করব তা দেখব। একটি হোস্ট সার্ভার ব্যর্থতার ক্ষেত্রে একটি ওয়েবসাইট পুনরুদ্ধার করতে আপনি একটি ইন্টারনেট তথ্য পরিষেবা ব্যাকআপ ব্যবহার করতে পারেন, অথবা যদি আপনি একটি ওয়েবসাইট (এবং/অথবা IIS কনফিগারেশন) অন্য সার্ভারে স্থানান্তর/সরান।
উইন্ডোজ সার্ভারে IIS ব্যাক আপ করা হচ্ছে
ইন্টারনেট ইনফরমেশন সার্ভিস ওয়েব সার্ভারে চলমান সাইটগুলির ডেটা এবং কনফিগারেশনের ব্যাকআপ নেওয়া বেশ কয়েকটি ধাপ নিয়ে গঠিত:
- ব্যাকআপ IIS ওয়েবসাইট ফাইলগুলি (ডিফল্টরূপে, IIS সাইটের ফাইলগুলি
%SystemDrive%\inetpub\wwwroot
এ সংরক্ষণ করা হয় ) এই ফোল্ডারটিকে অবশ্যই ব্যাকআপ প্ল্যানে অন্তর্ভুক্ত করতে হবে। আপনার ব্যাকআপ টুল (আপনি এমনকি বিল্ট-ইন উইন্ডোজ সার্ভার ব্যাকআপ -> ব্যাকআপের জন্য inetpub ডিরেক্টরি নির্বাচন করুন) বা সাধারণ BAT/PowerShell স্ক্রিপ্টগুলি ব্যবহার করে ফাইলগুলি সমস্ত ফাইল কপি করার জন্য এটি যথেষ্ট। উদাহরণস্বরূপ, WSB ইনস্টল করতে এবং একটি শেয়ার করা ফোল্ডারে inetpub\wwwroot ডিরেক্টরির ব্যাক আপ করতে, নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:# 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 - বর্তমান IIS সার্টিফিকেটের ব্যাকআপ (রপ্তানি) (আপনি এই কমান্ডটি ব্যবহার করে সার্ভারে SSL সার্টিফিকেটের তালিকা পেতে পারেন:
netsh http show sslcert
) আপনি PFX (পার্সোনাল ইনফরমেশন এক্সচেঞ্জ) ফরম্যাটে শেয়ার্ড নেটওয়ার্ক ফোল্ডারে সার্টিফিকেট ব্যাকআপ করতে PowerShell ব্যবহার করতে পারেন:dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\\srv-backup1\backup\$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) }
- ব্যাকআপ IIS কনফিগারেশন (সেটিংস)।
আপনি বিল্ট-ইন appcmd ব্যবহার করে IIS কনফিগারেশন ব্যাকআপ করতে পারেন টুল. প্রশাসক হিসাবে একটি কমান্ড প্রম্পট খুলুন এবং ডিরেক্টরি পরিবর্তন করুন:
cd c:\Windows\system32\inetsrv
আইআইএস কনফিগারেশন ব্যাক আপ করা যাক:
appcmd add backup srv1-iis-backup-2022_03_10
BACKUP object srv1-iis-backup-2022_03_10 added
Appcmd আপনার ব্যাকআপের নামের সাথে c:\Windows\system32\inetsrv\backup ডিরেক্টরিতে একটি ফোল্ডার তৈরি করে। এটিতে নিম্নলিখিত ফাইলগুলি রয়েছে:
- administration.config
- applicationHost.config
- MBSchema.xml
- MetaBase.xml
- redirection.config
এই ডিরেক্টরিটিকে ব্যাকআপ স্টোরেজ ডিভাইসে অনুলিপি করা বাকি আছে৷
৷Windows Server 2019/2016-এ, আপনি appcmd এর পরিবর্তে IIS ব্যাকআপ করতে বিল্ট-ইন PowerShell cmdlet ব্যবহার করতে পারেন:
Backup-WebConfiguration -Name MyBackup202203
এই cmdlet বর্তমান IIS সেটিংসকে $env:Windir\System32\inetsrv\backup
-এ রপ্তানি করে .
একটি ভিন্ন উইন্ডোজ সার্ভার হোস্টে একটি IIS কনফিগারেশন পুনরুদ্ধার করা
আপনি একই সার্ভারে বা অন্য হোস্টে ব্যাকআপ থেকে আপনার IIS কনফিগারেশন পুনরুদ্ধার করতে পারেন। ধরা যাক আপনাকে একটি ভিন্ন Windows সার্ভার হোস্টে IIS কনফিগারেশন পুনরুদ্ধার করতে হবে।
লক্ষ্য সার্ভারে একই ফোল্ডারে (c:\windows\system32\backup) IIS ব্যাকআপ ডিরেক্টরিটি অনুলিপি করুন৷
সমস্ত উপলব্ধ IIS কনফিগারেশন ব্যাকআপগুলির একটি তালিকা প্রদর্শন করতে, কমান্ডটি চালান:
appcmd list backup
অনুলিপি করা ব্যাকআপ উপলব্ধগুলির তালিকায় উপস্থিত হওয়া উচিত। একটি ব্যাকআপ থেকে IIS কনফিগারেশন পুনরুদ্ধার করুন:
appcmd restore backup /stop:true srv1-iis-backup-2022_03_10
"ব্যাকআপ থেকে পুনরুদ্ধার করা কনফিগারেশন srv1-iis-backup-2022_03_10 মানে IIS কনফিগারেশন সফলভাবে পুনরুদ্ধার করা হয়েছে।
/stop:true
বিকল্পটি পুনরুদ্ধার করার আগে IIS বন্ধ করতে বাধ্য করে৷
Restore-WebConfiguration -Name srv1-iis-backup-2022_03_10
BACKUP “CFGHISTORY_0000000001”
এর মত এন্ট্রি আছে উপলব্ধ ব্যাকআপের তালিকায়। এইগুলি হল IIS কনফিগারেশন ব্যাকআপগুলি স্বয়ংক্রিয়ভাবে তৈরি এবং \inetpub\history ডিরেক্টরিতে অবস্থিত। স্বয়ংক্রিয় ব্যাকআপ বৈশিষ্ট্যগুলি IIS 7+-এ উপস্থিত হয়েছে:IIS ম্যানেজারের মাধ্যমে করা ApplicationHost.config-তে পরিবর্তনগুলি ট্র্যাক করা হয়, 10টি সাম্প্রতিক ব্যাকআপ সংরক্ষণ করা হয় এবং ফাইলটি প্রতি 2 মিনিটে পরিবর্তনের জন্য পরীক্ষা করা হয়৷ পূর্ববর্তী ব্যাকআপ মুছতে, কমান্ডটি চালান:
appcmd.exe delete backup BackupName
- উভয় সার্ভারে একই IIS সংস্করণ ব্যবহার করতে হবে। আপনি PowerShell ব্যবহার করে রেজিস্ট্রিতে আপনার IIS এর সংস্করণ পরীক্ষা করতে পারেন:
get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring
নির্বাচন করুন আমার ক্ষেত্রে, এটি হল IIS 10.0 - যদি বিল্ট-ইন অ্যাকাউন্ট থেকে IIS অ্যাপ্লিকেশন পুল চালানো না হয়, তাহলে সেগুলি অবশ্যই লক্ষ্য IIS হোস্টে উপলব্ধ হতে হবে।
- IIS পুনরুদ্ধার করার আগে, আপনাকে অবশ্যই নতুন সার্ভারে ব্যবহার করা যেকোনো SSL সার্টিফিকেট আমদানি করতে হবে।
এছাড়াও আপনি msdeploy ব্যবহার করে আপনার IIS ওয়েব সার্ভারের ব্যাকআপ নিতে পারেন প্যাকেজ (ওয়েব ডিপ্লয়মেন্ট টুল)। আপনার IIS হোস্টে এবং টার্গেট ব্যাকআপ হোস্টে (https://www.microsoft.com/en-us/download/details.aspx?id=43717) msdeploy প্যাকেজ ডাউনলোড এবং ইনস্টল করুন।
ওয়েবডেপ্লোয়ের মাধ্যমে একটি দূরবর্তী উইন্ডোজ হোস্ট 192.168.100.112-এ একটি IIS ব্যাকআপ (যদি একাধিক সাইট IIS এ চলমান থাকে তবে সমস্ত সাইট সহ) তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করা যেতে পারে:
msdeploy -verb:sync -source:webServer,computername=192.168.100.112 dest:package=c:\Backup\IIS\server1_iis_backup.zip
এছাড়াও আপনি একটি পৃথক IIS ওয়েবসাইট ব্যাকআপ করতে পারেন:
msdeploy –verb:sync -source:contentPath="site_name.com",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name.zip
অথবা নির্দিষ্ট ডিরেক্টরি থেকে শুধুমাত্র স্ট্যাটিক ওয়েবসাইট ফাইল কপি করুন:
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