반응형
원도우에서 rsync와 SSH로 이용하여 백업을 구성하는 방법
Windows 환경에서 rsync와 SSH를 이용해 리눅스 서버로 백업을 구성하는 방법입니다.
1. 준비 파일 다운로드
Windows용 rsync/ssh 실행 파일을 아래 사이트에서 다운로드합니다.
필요한 파일
- cygwin1.dll
- rsync246.exe
- ssh.exe
- ssh-keygen.exe
2. 설치 및 기본 구성
2.1 디렉토리 생성
C:\rsync
- 위 경로에 다운로드한 파일을 모두 저장합니다.
2.2 실행 파일 이름 변경
rsync246.exe → rsync.exe
3. 환경 설정 배치 파일 생성
C:\rsync\env.bat
@echo off
set PATH=C:\rsync;%PATH%
set CYGWIN=binmode tty
set TERM=ansi
set USERNAME=myusername
set HOME=C:\rsync
set RSYNC_RSH=ssh.exe
myusername은 리눅스 서버 계정명으로 변경
4. SSH 접속 테스트
cd C:\rsync
env.bat
ssh 서버IP
- 비밀번호 입력 후 접속되면 정상
- 최초 접속 시 known_hosts 등록 메시지 확인 필요
5. rsync 백업 스크립트 작성
C:\rsync\backup.bat
@echo off
call C:\rsync\env.bat
rsync -e ssh -av --delete "/cygdrive/c/Users/username/Documents" user@server:/home/user/backup/
rsync -e ssh -av --delete "/cygdrive/c/rsync" user@server:/home/user/backup/
rsync -e ssh -av --delete "/cygdrive/e/mail" user@server:/home/user/backup/
5.1 경로 설명
| Windows 경로 | rsync 경로 |
| C:\ | /cygdrive/c/ |
| D:\ | /cygdrive/d/ |
5.2 trailing slash 차이
# 폴더 포함 복사
... /My Documents
# 폴더 제외, 내부만 복사
... /My Documents/
5.3 주요 옵션 설명
- -a : archive 모드 (권한/시간 유지)
- -v : verbose 출력
- --delete : 원본에서 삭제된 파일 대상에서도 삭제
6. 서버 사전 준비
서버에서 반드시 디렉토리 생성 필요
mkdir -p /home/user/backup
7. SSH Key 기반 인증 설정 (자동화 필수)
7.1 키 생성
ssh-keygen.exe -P ""
- 기본 경로 사용 (Enter 입력)
- 생성 위치
C:\rsync\.ssh\
7.2 서버에 공개키 등록
- identity.pub 파일을 서버로 복사 후
mkdir -p ~/.ssh
cat identity.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
7.3 테스트
backup.bat
- 비밀번호 입력 없이 실행되면 성공
728x90
8. 복구 스크립트
C:\rsync\restore.bat
@echo off
call C:\rsync\env.bat
rsync -e ssh -av user@server:/home/user/backup ./restore
9. 자동화 (Windows 작업 스케줄러)
- 작업 스케줄러 실행
- "작업 만들기"
- 트리거 → 원하는 시간 설정
- 동작 → backup.bat 실행
10. 다수 사용자 백업 구성 전략
여러 사용자 데이터를 중앙 서버로 백업하려면
방법 1. 공용 계정 사용
- 예: backupuser
- 각 PC에서 동일한 SSH 키 사용
방법 2. 사용자별 디렉토리 분리
/home/backupuser/user1/
/home/backupuser/user2/
11. 보안 고려 사항 (중요)
SSH Key 사용 시 비밀번호 없이 접속 가능 → PC 보안 필수
권장 설정
- 서버에서 PermitRootLogin no
- authorized_keys에 제한 옵션 추가 가능
- 방화벽으로 접근 IP 제한
12. 개선/대안 (현대적인 방법)
위 방식은 동작은 하지만 구식(Cygwin 기반)입니다.
특히 WSL 사용 시
rsync -avz /mnt/c/Users/... user@server:/backup/
- 리눅스와 동일한 환경으로 관리 기능
13. 운영 팁
- --dry-run으로 사전 테스트
- 로그 파일 남기기
rsync -avz /mnt/c/Users/... user@server:/backup/
- 대용량 데이터는 --partial, --progress 사용
참고URL
- Installing ssh and rsync on a Windows machine: minimalist approach
728x90
반응형
'원도우' 카테고리의 다른 글
| Windows에서 4GB 이상 메모리 인식시키기 (0) | 2013.07.19 |
|---|---|
| Windows Installer 등록 취소 및 다시 등록하기 (0) | 2013.07.16 |
| 바탕화면에 Internet Explorer 아이콘을 생성하는 방법 (0) | 2013.07.09 |
| 윈도우 10에서 바탕화면 파일들을 D 드라이브로 저장하려면 바탕화면 폴더의 기본 위치를 D 드라이브로 변경하는 방법 (0) | 2013.07.09 |
| 윈도우에서 IP 주소를 변경하는 배치 파일을 작성하는 방법 (1) | 2013.06.28 |