본문 바로가기

시스템/VisualSVN

VisualSVN | powershell을 이용한 Repository Backup 스케줄 만들기

반응형

 

 

SVN 버전 : 3.9.7 Standard Edition

 

VisualSVN Manager 에서 Repository 별 수동 백업을 지원한다.

 

또한 "Jobs"에서 Backup JOB을 만들고 스케줄링 할수 있으며 Full백업과 증분백업을 지원한다.

 

하지만 "Jobs"에서 지원하는 Backup JOB 스케줄은 Standard Edition에서는 지원하지 않는다.

  • Enterprise Edition에서 지원

 

 

 

따라서 비용없이 진행하기 위한 Backup 스케줄링 방법은 

 

Powershell을 이용한 Repository별(or 모든) Full Backup 스크립트를 만들고 윈도우 스케줄러나 AWX(ansible)를 이용하여 스케줄을 등록해야 한다.

 

(Backup JOB에서 지원하는 증분백업 또한 사용 할수가 없어 Full Backup으로 진행)

 

 

 

 

 

Powebshell 스크립트

 

Backup-SvnRepository command를 이용하고 확장자는 .vsvnbak 을 사용한다.

사용예

  • 모든 repository backup하고 목적지 경로는 default 설정을 따른다.
Backup-SvnRepository *

 

  • 특정 repository와 목적지 경로 지정
Backup-SvnRepository <Repository> -DestinationPath <\\path\to...>

 

 

 

VisualSVN Manager에서 default Backup 경로 지정

 

 

메모장으로 이용하여 간단한 스크립트 생성

  • 파일 이름 : bt.ps1

 

 

 

 

윈도우 스케줄러 등록

실행창 - "taskschd.msc"  - 작업만들기

 

테스트를 위해 한번만 실행

 

프로그램/스크립트 : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

인수 추가 : -ExecutionPolicy Unrestricted -File "C:\Users\exadminkr\Desktop\bt.ps1"

 

PowerShell 실행 정책(about_Execution_Policies)

악성 스크립트 실행 방지를 위한 PowerShell 실행을 제어하는 정책 1. scope 별 실행정책 리스트  - 우선 순위별 PS Client> get-executionpolicy -list Scope ExecutionPolicy ----- --------------- MachinePol..

ploz.tistory.com

 

 

계정 정보 입력

 

 

 

 

AWX(ansible) 스케줄 등록

윈도우 스케줄러등 호스트별로 스케줄을 등록하게 되면 관리하는데 어려움이 있어 AWX같은 tool을 이용하여 중앙에서 한번에 관리하는 것이 펀하다.

 

AWX 관련 참조

 

 

ansible.windows.win_powershell 모듈을 이용하여 간단한 playbook을 만들고 AWX에 JOB Template 및 스케줄을 등록한다.

 

playbook

> 12.svn_repository_backup.yml
---
- hosts: all
  gather_facts: no
  ignore_unreachable: yes
  tasks:
  - name: SVN {{ svn_backup_repository }} repository backup
    ansible.windows.win_powershell:
      script: |
        backup-svnrepository {{ svn_backup_repository }}

 

 

다음과 같은 에러 발생 시

ERROR! couldn't resolve module/action 'ansible.windows.win_powershell'. This often indicates a misspelling, missing collection, or incorrect module path.

 

 

ansible.windows 모듈을 설치해 준다.

ansible-galaxy collection install ansible.windows

 

 

 

JOB Template

 

 

하루에 1번 스케줄 등록

반응형

'시스템 > VisualSVN' 카테고리의 다른 글

VisualSVN | 3.9.7 로 업데이트  (1) 2022.09.21
VisualSVN | Repository 별 User 권한 파악하기  (0) 2022.09.21