...
https://192.168.0.10/repos 저장소를 Backup Server(192.168.0.20)의 /var/backup/svnbackup/repos 에 백업한다. 백업서버에서 다음 명령어를 수행한다.
- svnadmin create /var/backup/svnbackup/repos
- vi /var/backup/svnbackup/repos/hooks/pre-revprop-change
다음 내용을 추가하고 저장한다.
Code Block language bash #!/bin/sh exit 0;
Windows 의 경우 pre-revprop-change.bat 의 이름으로 다음 내용을 저장한다.
Code Block language bash @ECHO OFF exit 0
- chmod +x /var/backup/svnbackup/repos/hooks/pre-revprop-change
svnsync 설정을 초기화 한다.
Code Block svnsync init file:///var/backup/svnbackup/repos https://192.168.0.10/repos ## Windows의 경우 file URL 뒤에 Drive 명도 주어야 한다. ## svnsync init file:///d:\svnbackup\repos https://192.168.0.10/repos
svnsync 구동
Code Block svnsync sync file:///var/backup/svnbackup/repos
위의 과정을 script 로 만들었으니 REPOS_PATH, REMOTE 만 수정해서 구동
Code Block language bash title svnsync.sh #!/bin/sh ## local sync path REPOS_PATH=/var/backup/svnbackup/repos ## remote repository url REMOTE=https://192.168.0.10/repos if [ ! -d ${REPOS_PATH} ];then svnadmin create ${REPOS_PATH}; echo '#!/bin/sh' > ${REPOS_PATH}/hooks/pre-revprop-change echo "exit 0;" >> ${REPOS_PATH}/hooks/pre-revprop-change chmod +x ${REPOS_PATH}/hooks/pre-revprop-change svnsync init file:///${REPOS_PATH} ${REMOTE} fi svnsync sync file:///${REPOS_PATH}
...
백업 스크립트 생성
Code Block language bash ## 백업 스크립트 생성 echo '#!/bin/sh' > /usr/local/sbin/svnbackup.sh echo "svnsync sync file:///var/backup/svnbackup/repos" >> /usr/local/sbin/svnbackup.sh chmod +x /usr/local/sbin/svnbackup.sh
- cron 에 등록
- crontab -e
아래 내용을 추가
Code Block ## 8시부터 23시까지 1시간마다 백업수행 0 8-23 * * * /usr/local/sbin/svnbackup.sh
crontab -
...
Code Block | ||
---|---|---|
| ||
## 최근 5개의 로그만 출력
svn log file:///var/backup/svnbackup/repos -l 5 |
참고 자료
...