2007~2011/IIS2011. 1. 7. 11:13

Windows Server 백업 기능을 사용해서 운영체제와 파일 백업에 대한 소개에 이어 이번 포스티엥서는 IIS 7 설정을 백업하고 복원하는 방법에 대해서 살펴 보도록 하겠습니다. 

Chapter 5에서 appcmd.exe 커맨드라인 도구를 소개할 때, 간략히 백업과 복원 명령어를 소개하였습니다만 커맨드라인 명령 뿐만 아니라 IIS 7 인터넷 정보 관리자 인터페이스를 통해서 쉽게 IIS 7 설정을 백업하고 복원할 수도 있습니다. 두 가지 방법 예제를 통해 살펴보겠습니다. 개인적으로는 검증된(?) 그리고 활용도가 높은 appcmd.exe 명령 사용을 추천해 드립니다


1. appcmd.exe 명령으로 IIS 7 설정 백업과 복원하기
 가. 바이너리 위치 및 도움말 정보 보기 : %WindDir%\System32\InetSrv\appcmd.exe /? 

 
나. 백업하기
  1) C:\Windows\System32\intersrv> appcmd add backup
  2) 백업 파일 이름을 지정해 주지 않으면 현재 타임스탬프 이름으로 백업됩니다. 

 
다. 백업 목록 확인
  1) appcmd list backup
  2) 이미 존재하는 BACKUP "CFGHISTORY_Serialnumber" 형태로 기록된 정보는 매 2분마다 IIS 7 구성 정보 변경 여부를 체크하여 변경 사항이 있을 때마다 자동으로 백업이 수행된 기록입니다. %SystemDrive%\InetPub\history 폴더에서 백업된 정보를 확인하실 수 있습니다.


 라. 백업 정보 삭제
  1) appcmd delete backup 20110107T102003


 마. 백업 및 복원 시나리오
  1) "laigo" 라는 백업 이름으로 백업을 수행합니다.

appcmd add backup laigo


  2) "laigo" 백업 세트를 사용하여 즉시 복원하고 IIS 서비스를 재시작 합니다.

appcmd restore backup /backup.name:"laigo"


  3) 복원 시 IIS 서비스 재시작을 원치 않는다면 /stop:false 파라미터를 사용하시면 됩니다. 물론 수동으로 재시작해야 변경 사항이 적용됩니다.

appcmd restore backup /backup.name:"laigo" /stop:false




2. IIS 7 백업 복원 사용자 인터페이스
 가. 다운로드 (IIS7 Backup Restore UI)
     http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1552 

 
나. 다운로드 받은 파일의 압축을 해제한 후 IIS7BackupRestoreUI.dll 파일을 글로벌 어셈블리 캐쉬(C:\Windows\assembly 폴더로 Drag & Drop 하면 자동으로 설치됩니다.


다. 메모장 실행 후 %WinDir%\System32\InetSrv\config\Administration.config 파일을 열어 <moduleProviders> 이름으로 검색한 후 해당 섹션 아래에 다음 내용을 추가합니다. 

<add name="IIS7BackupRestoreUI" type="IIS7BackupRestoreUI.MyModuleProvider, IIS7BackupRestoreUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db9daa3d2ea5f6fd" /> 


다시 한 번, <modules> 이름으로 검색한 후 해당 섹션 아래 아래 내용도 추가합니다. 

<add name="IIS7BackupRestoreUI" />



수정된 파일을 저장합니다.



 라. 인터넷 정보 관리자를 실행하면 아래 그림과 같이 Backup Restore 메뉴가 추가된 것을 확인할 수 있으며 IIS7BackupRestoreUI 기능이 아이콘으로 추가 되었음을 확인할 수 있습니다.  

 
 마. 신규 백업을 생성하기 위해서는 Backup Name 에 백업세트 이름을 입력한 뒤 'Create' 버튼을 클릭하시면 됩니다. 필요
, Web.config 파일도 백업 여부를 선택할 있습니다. 백업 성공하면 성공되었다는 팝업창이 나타나게 됩니다. 백업이 완료된 이후 appcmd list backup 명령으로도 백업 세트를 확인하실 수 있습니다.  


 바. 이후
복원을 하기 위해서는 Available Backups 항목에 있는 드롭다운 리스트 박스 버튼을 클릭하면 현재 백업 되어 있는 목록들을 보여주게 되며 선택하여 복원할 수 있습니다. 복원 시, 아래에 있는 Log 메시지 창을 통해 복원 결과를 확인하실 수 있습니다.  


IIS 7 백업 복원 사용자 인터페이스를 사용하실 때, 몇 가지 주의하실 사항이 있습니다. 우선 복원 시, 자동으로 IIS 서비스가 재시작 된다는 것과 반드시 백업 후에는 복원 테스트를 통해 권한이나 그 외 예외가 발생하지 않는지 테스트가 필요합니다. 제가 테스트한 일부 환경에서는 복원 실패 사례가 있었으나 아직 많은 테스트를 진행하지 못해 구체적인 정보를 전해 드리기 어렵습니다. 개인적으로는 appcmd.exe 명령을 사용하여 백업, 복원을 관리하는 것을 권장해 드리고 싶습니다. 

컨텐츠 또는 데이터베이스 백업은 신경 쓰면서 운영체제와 웹 서비스의 설정 정보의 백업은 소홀하진 않으셨는지요? 보신 바와 같이 정말 간단하게 APPCMD 명령 한 줄이면 현재 IIS 웹 서버의 구성 정보를 안전하게 백업 받을 수 있습니다. 명령어 사용을 아끼지 말고 작업 , 작업 항상 백업 자료 관리 신경 주시면 정신 건강에 아주 이로울 거라 확신합니다.


작성자 : Lai Go / 작성일자 : 2011.01.07

Posted by Lai Go