강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

rsync윈도우에서 리눅스로 백업하기
작성자 : 13 김영철
등록날짜 : 2009.01.29 16:31
3,951
rsync라는 툴에 대해서 들어보셨을 겁니다. 데이타의 미러링을 위해서 주로 쓰이고 있지요.

이걸 개인 PC에 쓰도록 하는 것이 오늘의 팁입니다.

필요한 설치 환경은 다음과 같습니다.

1. 서버(유닉스 호환이면 되겠죠: 이 서버에 데이타를 백업받습니다.)
   서버에는 rsync및 ssh가 설치되어 있어야 합니다.
   서버에 설치 부분은 언급하지 않겠습니다. 좋은 문서가 많으니까요.

2. 개인PC(윈도우머신)
   윈도우용 rsync 및 ssh

----------------------------------------------------------------------
윈도우용 rsync 및 ssh는 아래 사이트에 가보시면 다운 받을 수 있습니다.

http://optics.ph.unimelb.edu.au/help/rsync/binaries/
여러가지 파일이 있지만 필요한 파일은
cygwin1.dll
rsync246.exe
ssh.exe
ssh-keygen.exe

1. 위 파일을 다운 받아서 c:\\rsync 폴더에 저장합니다.
2. rsync246.exe 는 rsync.exe로 파일이름을 변경합니다.
(rsync.exe 버전이 여러개 있지만 2.46버전이 제일 안정적이었습니다.)
3. c:\\rsync 폴더에 다음과 같이 test.bat라는 파일을 만들어줍니다.
위의 사이트에서 rsetup.bat라는 파일을 받아서 수정하셔도 됩니다.

@echo off
set PATH=c:\\rsync;%PATH%
set CYGWIN=binmode tty
set TERM=ansi
set USERNAME=myusername <--- myusername을 서버의 자신의 계정이름으로 바꿉니다.
set HOME=c:\\rsync
set RSYNC_RSH=ssh.exe

4. 피시의 도스창에서 아래와 같은 작업을 해서 테스트 해봅니다.
4-1 c:\\rsync폴더에서 test.bat을 실행합니다.
4-2 마찬가지로 ssh.exe 서버아이피(혹은 URL)를 실행합니다

응답이 패스워드를 요구하고 패스워드 입력시 서버로 ssh접속이 되는지 확인해봅니다.

5. 위의 작업이 성공적이라면 이제 거의 다 하신 겁니다.
이제 rsync를 이용하는 배치 파일을 만들어 보겠습니다.
@echo off
set PATH=c:\\rsync;%PATH%
set CYGWIN=binmode tty
set TERM=ansi
set USERNAME=myusername <--- myusername을 서버의 자신의 계정이름으로 바꿉니다.
set HOME=c:\\rsync
set RSYNC_RSH=ssh.exe
rsync -e ssh -av --delete \"/cygdrive/c/Documents and Settings/lum34/My Documents\" 서버아이피(URL):/home/lum34/backup/
rsync -e ssh -av --delete \"/cygdrive/c/rsync\" 서버아이피(URL):/home/lum34/backup/
rsync -e ssh -av --delete \"/cygdrive/e/mail\" 서버아이피(URL)/home/centerbackup/lum34/backup/

이 파일을 mirror.bat라고 저장하세요.
여기서 /cygdrive/c/는 C:\\ 드라이브입니다. D:\\드라이브는 /cygdrive/d/ 가 되겠죠.
위의 배치 파일은 제PC의 My Documents파일과 메일등을 서버의 lum34/backup 디렉토리로 복사하라는 명령입니다.
백업받으실 폴더명으로 바꿔주시면 됩니다.
옵션중에 --delete는 제 PC에서 사라진 데이타는 서버에서도 지우라는 것입니다.
옵션은 rsync에 대한 문서를 찾아보세요.

중요: 서버의 lum34 디렉토리 밑에 backup이라는 디렉토리는 직접 만들어 줘야 합니다. 이것을 만들어 주지 않으면 에러가 납니다. 단 그 하위 폴더는 자동으로 만들어 줍니다.

참고로
rsync -e ssh -av --delete \"/cygdrive/c/Documents and Settings/lum34/My Documents\" 서버아이피(URL):/home/lum34/backup/
rsync -e ssh -av --delete \"/cygdrive/c/Documents and Settings/lum34/My Documents/\" 서버아이피(URL):/home/lum34/backup/
의 차이는 위의 것이 My Documents라는 폴더를 만들고 그 하위의 폴더내용도 백업한다면
아래것은 My Documents 라는 폴더 밑의 것만 백업합니다. My Documents라는 폴더는 만들지 않습니다.

6. mirror.bat 파일을 실행합니다.
계정 암호를 물어볼겁니다. 암호를 넣으시면 백업할 파일 목록을 만들고 백업하는 과정을 보실 수 있을 겁니다.

7. 그런데 백업할 때마다 계정암호를 물어본다면 좀 귀찮죠.
보안상 안좋지만 이렇게 하면 됩니다.
7-1 ssh-keygen.exe -P \"\"
이렇게 실행해줍니다. 물론 도스창에서 입니다. 그리고 test.bat이나 mirror.bat을 먼저 실행한 후에 해야 합니다.
이렇게 하면
Enter file in which to save the key (/cygdrive/c/rsync/.ssh/identity):
이라고 물어볼겁니다.
그냥 Enter 치시면 됩니다.
7-2 이제 c:\\rsync./ssh 라는 디렉토리에 보면 identity.pub 라는 파일이 생겼을 겁니다.
이걸 서버의 자신의 계정 밑의 .ssh 디렉토리에도 authorized_keys 파일이름으로 복사합니다.

7-3 다시 한번 mirror.bat을 실행시켰을 때 암호 물어보지않고 백업한다면 성공입니다.
7-4 이렇게 했을 때 문제는 도스창에서 test.bat과 같은 환경 파일을 실행하고 ssh.exe 서버아이피 하면 ssh로 바로 접속된다는 것입니다.
이제 자기 PC에 대한 보안도 잘 지켜야 겠죠.

8. 복원하는 배치파일은 다음과 같습니다. 이 배치 파일은 자신의 컴의 c:\\rsync\\restore라는 폴더로 서버에 백업되어 있는 파일을 불러
오는 것입니다.
@echo off
set PATH=c:\\rsync;%PATH%
set CYGWIN=binmode tty
set TERM=ansi
set USERNAME=myusername <--- myusername을 서버의 자신의 계정이름으로 바꿉니다.
set HOME=c:\\rsync
set RSYNC_RSH=ssh.exe
rsync -e ssh -av 서버아이피(URL):/home/lum34/backup ./restore

9. 이제 자동으로 백업을 받게 해야겠죠.
이것은 윈도우의 예약된 작업을 이용해서 하면 됩니다. 예약작업추가해서 적당한 시간을 설정하면 되겠죠.

10. 이제 자기 PC뿐만 아니라 사무실의 다른 사람들 데이타도 백업받도록 해주면 좋겠죠. 사무실에 있는 모든 사람이 계정을 가지고 있지 않을 뿐더로 모두다 서버에 접속할 수 있는 권한을 준다는 것도 좋지 않을테니까요.

특히 예쁜 아가씨라면.... 하드가 날라갔을 때 데이타를 복구해준다면 만만치 않은 이익이 오리라 믿습니다. 흑. 저 장가갔습니다.

10-1. 서버에 cbacupk 등의 공통된 계정을 만듭니다. 이 계정은 권한을 최소한만 주도록 해주는 것이 좋을겁니다.
mirror.bat 파일과 resotre.bat 파일에서 계정이름을 수정합니다.
그리고 백업받을 위치도 수정합니다. 개인당 하나의 디렉토리를 지정해주면 되겠죠.
그리고 c:\\rsync\\.ssh의 파일을 새로 만드는 것이 아니라 cbacup으로 설정해서 만든 처음의 컴퓨터에서 .ssh 폴더의 파일을  복사해서주면 됩니다.
-----------------------------------------------------------------------------------
긴 팁 읽어주셔서 감사합니다.

제가 올리는 팁에 대한 더 자세한 사항은 아래 사이트를 참조하세요.
http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html

-phpschool 

 

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3195 바탕화면 아이콘 변경 M 최고의하루 12.23 4063
3194 오라클(Oracle) 날짜 관련 함수 정리 13 김영철 01.23 4061
3193 innerTEXT와 innerHTML의 유용함 99 단국강토 02.09 4049
3192 각종 확장자 파일 M 최고의하루 12.24 4032
3191 이것은 AI파일 미리보기입니다. 댓글2 M 최고의하루 01.15 4029
3190 오라클 캐릭터 셋 변경 M 최고의하루 01.12 4028
3189 Ajax 간단한 예제(우편번호검색) 13 김영철 01.29 4021
3188 포토샵으로 털그리기 10 액션쟁이 01.02 4020
3187 php 설치관련 문의내용 정리 13 김영철 01.14 4015
3186 vb 마우스휠 2 아론k 06.24 4014
3185 UltraWebGrid Tips 99 단국강토 01.13 4009
3184 PHP 답변형 게시판 / 자료실 /PHP강좌 13 김영철 01.13 3994
3183 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 3985
3182 엑셀형식 가계부 3종 댓글2 2 비비드바비 04.29 3960
3181 Windows Server 2003 에서 IIS 6 + PHP 4.3.2 설정법 M 최고의하루 12.19 3959
3180 간편 스크롤캡쳐프로그램!!!! 2 무라사키 02.17 3953
열람중 rsync윈도우에서 리눅스로 백업하기 13 김영철 01.29 3952
3178 award bios 어워드 바이오스 설정법 M 최고의하루 12.18 3943
3177 아쿠아버튼 M 최고의하루 12.20 3937
3176 innerText, outerText, innerHTML, outerHTML 99 단국강토 01.06 3937
3175 ScriptX 프린트 13 김영철 01.15 3932
3174 table,tr,td 의 innerHTML 속성으로 좀 가꾸놀기 99 단국강토 02.09 3923
3173 원격데스크톱 연결 (XP) M 최고의하루 12.20 3923
3172 MSSQL 내장 함수 목록 99 단국강토 01.03 3920
3171 꽤 괜찮다; - MMF 변환 프로그램 M 최고의하루 12.18 3920
3170 MSSQL 기본 접속 포트 1433 변경 및 서버 alias 사용 99 단국강토 01.07 3908
3169 AJAX 관련 새로운 url 정리 13 김영철 01.29 3908
3168 frame, iframe에서 쿠키, 세션 인증(로그인) 처리 안 될 때 해결 방법 13 김영철 01.14 3905
3167 네이트온글꼴바꾸기 댓글1 17 미니 04.27 3901
3166 Window에서 4G 이상의 메모리가 인식이 안될때 17 vane 12.27 3876
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취