250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- ci/cd
- jqGrid
- JPA
- Stream
- mssql
- Javascript
- 보안
- 엑셀 업로드
- 자바8
- MessageQueue
- apache.poi
- stream api
- 제이쿼리그리드
- 스트림
- 그리드
- spring
- poi
- JQuery
- 자동빌드
- Jenkins
- ORM
- rabbitmq
- sqlserver
- docker
- mom
- 대용량 업로드
- DevOps
- java
- QueryDSL
- 자동배포
Archives
- Today
- Total
개발 메모장
[SVN] Windows를 이용한 자동 백업 본문
728x90
- Visual SVN을 설치하고 파일들을 잘 보관하기 위해선 백업은 필수로 설정해야 합니다.
- Visual SVN에서 Backup Job이라는 기능을 제공하지만 이는 Enterprise 버전에서만 사용 가능하기에 라이센스를 필요로 합니다.
- 따라서 서버에서 처리하는 방법에 대해 알아보도록 하겠습니다.
- 아래 내용은 윈도우 기준으로 작성하였습니다.
#. bat 파일 만들기
- 메모장을 켜고 아래와 같이 작성해 주고 확장자를 .bat로 변경해 줍니다.
- set "변수키=변수값"
- 내부적으로 사용한 변수명을 지정하고 값을 입력해 줍니다.
- 세팅된 리스트를 확인하려면 set만 입력하면 됩니다. - echo
- 2>nul는 디렉터리가 이미 있는 경우의 오류메시지를 무시하게 합니다.
- mkdir
- 폴더를 생성하는 명령어입니다.
- cmd에서 보여주기 위한 진행상황 알림용으로 생각하시면 됩니다. - xcopy
- 복사하는 명령어입니다.
- xcopy /s /e "복사할 폴더 경로" "붙여 넣을 폴더 경로"를 입력하면 됩니다.
- 추가로 위 명령어 입력 시 폴더인지 파일인지 D / F를 눌러달라는 멘트가 나옵니다.
- 이를 대비하기 위해 echo d |를 붙여 질문이 나올 시에 대비할 수 있습니다.
- 아래는 생성된 지 30일이 지난 파일을 삭제하는 명령어입니다.
- forfiles
- for문처럼 특정위치 내 파일들을 하나씩 보여줍니다.
- /p 다음엔 경로를 입력
- /d 다음엔 +/-일수 입력(-30은 30일이 지난 파일을 의미)
- /c 다음엔 " " 안에 커맨드 입력
- @isdir == TRUE는 파일형식이 디렉터리라는 의미입니다. - rmdir
- remove Directory로 디렉터리 삭제를 의미합니다.
- /s는 지정된 디렉터리 및 파일을 지운다는 의미입니다.
- /q는 /s로 삭제 시 문제가 없는 경우 다시 묻지 않게 합니다.
- 더 자세한 내용은 명령어 뒤에 /? 를 붙이면 사용방법에 대해 알려주니 필요하신 기능이 있으시면 찾아보시면 좋을 것 같습니다.
@echo off
setlocal
set "svnmanager_path=C:\Repositories"
set "backup_dir=D:\SVN_Backups"
set "timestamp=%DATE:/=-%_%TIME::=-%"
cd /d "%svnmanager_path%"
echo Backing up repositories...
mkdir "%backup_dir%" 2>nul
echo d | xcopy /s /e "C:\Repositories" "%backup_dir%\repositories_backup_%timestamp%"
echo Backup completed.
echo Deleting old backup files...
forfiles /p "%backup_dir%" /d -30 /c "cmd /c if @isdir==TRUE rmdir /s /q @file"
echo Deletion completed.
endlocal
#. 스케줄러 생성하기
- 작업 스케줄러를 실행시켜 줍니다.
- 일반탭에선 스케줄러 이름 및 보안옵션을 선택해 주세요. 보안옵션에서 사용자의 로그온 여부에 따라 실행 여부를 선택할 수 있습니다.
- 트리거 탭은 스케줄러를 실행할 주기, 시간 등을 지정할 수 있습니다.
- 동작 탭은 생성한 bat파일을 넣어 프로그램 시작을 설정할 수 있게 합니다.
- 이렇게 완료를 하면 스케줄러가 생성됩니다.
===========================================================
틀린 내용이 있거나 이견 있으시면 언제든 가감 없이 말씀 부탁드립니다!
===========================================================
728x90
'Git & SVN' 카테고리의 다른 글
[SVN] Visual SVN 서버 변경하기 (0) | 2024.03.13 |
---|---|
[SVN] IDE 및 프로젝트 연동하기(Spring Tool Suite) (0) | 2023.11.23 |
[SVN] VisualSVN Server 유저 생성 및 권한 설정 (1) | 2023.11.23 |