इस लेख में, हम देखेंगे कि विंडोज सर्वर पर वेबसाइटों, एप्लिकेशन पूल और आईआईएस वेब सर्वर कॉन्फ़िगरेशन का बैकअप कैसे लें। होस्ट सर्वर के विफल होने की स्थिति में, या यदि आप किसी वेबसाइट (और/या IIS कॉन्फ़िगरेशन) को किसी अन्य सर्वर पर माइग्रेट/स्थानांतरित करते हैं, तो आप किसी वेबसाइट को पुनर्स्थापित करने के लिए इंटरनेट सूचना सेवा बैकअप का उपयोग कर सकते हैं।
Windows सर्वर पर IIS का बैकअप लेना
इंटरनेट सूचना सेवा वेब सर्वर पर चलने वाली साइटों के डेटा और कॉन्फ़िगरेशन का बैकअप लेने में कई चरण होते हैं:
- आईआईएस वेबसाइट फाइलों का बैकअप लें (डिफ़ॉल्ट रूप से, IIS साइट फ़ाइलें
%SystemDrive%\inetpub\wwwroot
में संग्रहीत होती हैं ) इस फ़ोल्डर को बैकअप योजना में शामिल किया जाना चाहिए। यह आपके बैकअप टूल का उपयोग करके सभी फाइलों को कॉपी करने के लिए पर्याप्त है (आप अंतर्निहित विंडोज सर्वर बैकअप का उपयोग भी कर सकते हैं -> बैकअप के लिए इनेटपब निर्देशिका का चयन करें), या साधारण बैट/पावरशेल स्क्रिप्ट। उदाहरण के लिए, 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 प्रमाणपत्रों का बैकअप (निर्यात) (आप इस कमांड का उपयोग करके सर्वर पर एसएसएल प्रमाणपत्रों की सूची प्राप्त कर सकते हैं:
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
आइए IIS कॉन्फ़िगरेशन का बैकअप लें:
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
में भी निर्यात करता है .
किसी भिन्न Windows सर्वर होस्ट पर IIS कॉन्फ़िगरेशन को पुनर्स्थापित करना
आप अपने IIS कॉन्फ़िगरेशन को बैकअप से उसी सर्वर या किसी भिन्न होस्ट पर पुनर्स्थापित कर सकते हैं। मान लें कि आपको किसी भिन्न Windows सर्वर होस्ट पर IIS कॉन्फ़िगरेशन को पुनर्स्थापित करने की आवश्यकता है।
IIS बैकअप निर्देशिका को लक्ष्य सर्वर पर उसी फ़ोल्डर (c:\windows\system32\backup) में कॉपी करें।
सभी उपलब्ध IIS कॉन्फ़िगरेशन बैकअप की सूची प्रदर्शित करने के लिए, कमांड चलाएँ:
appcmd list backup
कॉपी किया गया बैकअप उपलब्ध लोगों की सूची में दिखाई देना चाहिए। IIS कॉन्फिगरेशन को बैकअप से पुनर्स्थापित करें:
appcmd restore backup /stop:true srv1-iis-backup-2022_03_10
"बैकअप से पुनर्स्थापित कॉन्फ़िगरेशन srv1-iis-backup-2022_03_10 इसका मतलब है कि आईआईएस कॉन्फ़िगरेशन को सफलतापूर्वक बहाल कर दिया गया है।
/stop:true
विकल्प आईआईएस को बहाल करने से पहले रोकने के लिए मजबूर करता है।
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